我刚刚更新了 Xxode 以使用 Swift 2.0。像往常一样,出现了很多新问题。
在我的应用程序中,我有一个 View Controller ,用于检查用户是否已登录并显示登录屏幕或应用程序的主屏幕。这是一个非常简单的 VC:
class WelcomeViewController : UIViewController {
override func viewDidAppear(animated: Bool) {
if PFUser.currentUser() == nil {
self.performSegueWithIdentifier("segue-require-login", sender: self)
}
else {
self.performSegueWithIdentifier("segue-start-app", sender:self);
}
}
}
这曾经完美地工作,但现在不行了。 segue segue-require-login
是“Present modally”类型,它工作正常。 segue segue-start-app
是“Show (e.g. Push)”,但 View 永远不会被推送,即使代码正在执行(甚至 prepareForSegue
被调用) .
我已经尝试重新创建 segue、执行清理、清理项目的构建文件夹,但似乎没有任何帮助。
有什么想法吗?
最佳答案
在 iOS 9 和 Xcode 7 中似乎有一个错误,如果你有一个带有占位符文本的 UITextView,它会阻止触发 segue。
更多解释在下面的回答中: iOS 9 Segue Causes App To Freeze (no crash or error thrown)
要修复它,请尝试删除 UITextView 的占位符文本
关于ios - performSegueWithIdentifier 不会推送 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32741360/