尝试使用以下代码在故事板中呈现新的视图控制器时遇到问题:
let viewController = self.storyboard?.instantiateViewControllerWithIdentifier("ViewControllerIdentifier")
self.presentViewController(viewController!, animated: true, completion: nil)
视图控制器确实出现了,但出于某种原因只显示了两个按钮,没有其他元素。
到目前为止我尝试了什么:
CFRunLoopWakeUp(CFRunLoopGetCurrent())
。 没有帮助
无论是。 如上所述,当我将视图控制器加载为初始视图控制器时,视图控制器显示完全正常,但在使用上述代码时仅显示按钮。 ViewDidAppear也被调用。
我正在使用Xcode Version 7.2.1
编辑: 根据评论的要求,这是我要呈现的视图控制器的代码:
import UIKit
class myViewController : UIViewController {
@IBOutlet weak var myImage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.Portrait
}
}
编辑: 我找到了解决这个问题的方法: 通过在以下块中创建转换。
dispatch_async(dispatch_get_main_queue(),^{
});
看来我的问题是,触发所述转换的行没有在UI线程上执行。我仍然不知道为什么会导致上述行为,但至少有一个解决方案。