草庐IT

ios - 使用 Swift 登录 Facebook 后不会触发 Segue

预先感谢您的帮助!我正在编写的swift应用程序上实现facebook登录,但在登录完成后执行segue时遇到了一些问题。作为FBSDKLoginButtonDelegate的一部分,我有两个方法:funcloginButton(loginButton:FBSDKLoginButton!,didCompleteWithResultresult:FBSDKLoginManagerLoginResult!,error:NSError!){}和funcloginButtonDidLogOut(loginButton:FBSDKLoginButton!){}登录按钮已正确实现,我能够读取权限/

ios - 功能差异,UINavigationController与仅Storyboard Segue

因此UIKitFrameworkReference将UINavigationController描述为向用户展示数据和View的有效方法。但是,我对使用UINavigationControllerVS仅使用Segue之间的性能和可管理性差异感到好奇。在某些情况下,一种情况比另一种情况更适合。我是编码的新手,但直觉上我想UINavigationController可以用来表示VC,每个VC都运行很多,用户平均在每个VC上花费很多时间,或者多个VC需要同时运行并保存数据。而且Segue更适合于单向VC进度或短期使用的低数据VC演示。这些假设是否正确?实现UINavigationContro

ios - 在 segue 到下一个 View Controller (Swift) 之前进行异步调用

我有一堆ViewController(嵌入式导航Controller),在转到下一个屏幕之前我需要进行一些异步调用。问题是我需要在单击映射到segue的按钮时进行此调用,但由于异步调用尚未返回,因此进行了segue并显示了下一个ViewController。人们如何做这种事情来防止在返回异步调用之前发生ViewController导航? 最佳答案 TL;DR您可以为UIButton创建一个@IBAction并在函数内部进行异步调用并手动启动seguecompletionHandler使用dispatch_async(dispatch

ios - segue 后在 View 上保留标签栏?

这个问题在这里已经有了答案:TabBarcontrollerdisappearingwhenmovingtoanotherview(iOSSDK,Usingstoryboards)(2个答案)关闭2年前。我有一个标签栏Controller,然后是一个导航Controller,然后是第一个ViewController。正如预期的那样,这个ViewController有一个标签栏。但是,当我从此View继续时,我丢失了选项卡栏。我希望它保留其在其他VC中的地位,源于第一个观点。这是我的IB:我希望标签栏在从右侧VC通过segue加载后也出现在左侧VC上,这是如何实现的,因为无论我如何设置V

macos - 更改在 OS X 中使用 popover segue 创建的 popover 的外观

我正在尝试使用Storyboard为Yosemite构建一个简单的应用程序。创建一个popoversegue很容易——在我的Storyboard中,从单击按钮到NSViewController创建segue,并且样式设置为Popover。这很好用,但问题是,我想改变这个弹出窗口的外观。它似乎默认为VibrantDark外观,但我希望它是VibrantLight或Aqua。我假设这里发生的事情是在幕后,正在创建一个NSPopover来包含我用我的segue显示的ViewController,但我不知道如何访问它NSPopover对象-Storyboard只允许我访问我正在显示的ViewC

ios - 没有segue的两个 View Controller 之间的快速委托(delegate)

我的委托(delegate)协议(protocol)从未调用过我的第一个Controller——ViewControllerclassViewController:UIViewController,testProtocol{@IBActionfuncbtInit(sender:AnyObject){println("BtInit")letstoryBoard:UIStoryboard=UIStoryboard(name:"Main",bundle:nil)letinitViewController:UIViewController=storyBoard.instantiateViewC

swift - 如何知道使用 Swift 使用了哪个 segue?

我有一个主viewController和一个detailsViewController。detailsViewController有2个按钮。这两个按钮都是返回到主Controller的转场,但我想根据使用的转场自定义主viewController。检查使用哪个segue到达viewController以便可以根据它自定义主viewController的最佳方法是什么?-如果segue1导致主viewController,那么我想隐藏label1。如果segue2指向主viewController,那么我希望隐藏label2。 最佳答案

swift - 推/退时隐藏/显示标签栏。 swift

回答:在每个ViewController中使用self.tabBarController?.tabBar.hidden而不是hidesBottomBarWhenPushed来管理ViewController是否应显示标签栏。overridefuncviewWillAppear(animated:Bool){self.tabBarController?.tabBar.hidden=true/false}我要ViewController1:应该显示标签栏ViewController2:应该显示标签栏ViewController3:不应显示标签栏。ViewController4:不应显示标签

ios - prepareForSegue 和 PerformSegueWithIdentifier 发件人

我想知道标题中的函数是如何工作的,也想知道sender参数。假设单击按钮调用了performSegue方法,那是否也调用了prepareSegue方法?prepareSegue方法是在performSegue方法之前调用,但在按下按钮之后调用?此外,两个函数中的“sender”参数是否链接?如果我在performSegue方法中传入一个字符串作为发件人,它会转移到prepareSegue方法中的sender参数吗?也就是说,如果我在performSegue方法中设置sender参数为“Hiworld”,那么prepareSegue方法中的sender参数是否也会是同一个字符串?谢谢

swift - 在 Swift 中没有导航 Controller 的情况下在 viewDidLoad() 中执行 segue

我有三个View(View1检查服务器连接,View2显示主要内容,View3显示支持页面)并且我在Storyboard中创建了它们而没有编码。在启动我的iOS应用程序时,View1在检查服务器连接时显示一个微调器。如果连接检查通过,那么我想去View2,如果它失败了,那么我想去View3。View1仅用于连接检查,我不想回到这个View。所以,我认为我不需要导航Controller,还是?在Storyboard中,我将所有View与序列连接起来。在我的View1的ViewController中,我这样做:overridefuncviewDidLoad(){super.viewDidL