ios - View Controller 未加载 Storyboard View

标签 ios iphone uiviewcontroller swift

我是 iOS 开发新手。我有一个带有 2 个 View Controller 的 Storyboard,我将它们链接到 UIViewController 类,当我尝试从第一个类加载第二个类时它起作用(就像进入主菜单的启动画面)但是“菜单”没有从 Storyboard加载 View 。它加载黑屏。我已将类分配给 Storyboard右侧边栏中的 viewcontroller,并将屏幕涂成红色以查看它是否加载类,确实如此,但如果我去掉红色,它会加载黑屏,而不是所需的屏幕来自 Storyboard。

屏幕 1(启动画面)的代码:

func switchScreen() {

    let secondViewController:vcMainLogin = vcMainLogin()
    self.presentViewController(secondViewController, animated: true, completion: nil)

}

override func viewDidLoad() {
    super.viewDidLoad()
    NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "switchScreen", userInfo: nil, repeats: false)    

}

屏幕 2(登录/菜单)的代码:

override func viewDidLoad() {
    super.viewDidLoad()
    self.view.backgroundColor = UIColor.redColor()
    // Do any additional setup after loading the view.
}

它正在加载,因为屏幕的颜色变成了红色,但是当我把它拿出来时,它加载的是黑色,而不是 Storyboard中的屏幕。

最佳答案

您需要从 Storyboard 中实例化 View Controller ,而不是通过初始化函数创建它。为此,您需要在界面生成器中为 View Controller 分配一个 Storyboard ID( View -> 实用程序 -> 身份检查器)。在此示例中,我从名为“MainStoryboard”的 Storyboard加载了一个 Storyboard ID 为“VC2”的 View Controller 。

let mainStoryboard = UIStoryboard(name: "MainStoryboard", bundle: NSBundle.mainBundle())
let vc : UIViewController = mainStoryboard.instantiateViewControllerWithIdentifier("VC2") as UIViewController

这里是等效的 objective-c 代码供引用

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"mainStoryboard" bundle:[NSBundle mainBundle]];
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"VC2"];

关于ios - View Controller 未加载 Storyboard View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24343293/

相关文章:

iphone - 如何使用 StoryBoard 在 iOS 中添加水平线?

ios - 连接返回时重新发送 ASIHTTPRequest

ios - 使用 Swift 的 UICollectionView

ios - x-www-form-urlencoded objective-c

iphone - refreshObject 如何在嵌套的托管对象上下文中工作?

ios - viewDidLoad 和 viewWillAppear 之间的 Swift 长延迟

android - 为什么使用 Unity 尝试拍照时相机 View 太宽且不清晰?

iphone - Android vs iPhone vs Windows Phone vs 其他作为内部业务软件平台

iphone - OCR - 用 iphone 识别价格标签(openCV/Tesseract/其他方法?)

ios - 如何在 Storyboard 中创建一个单独的 View 以编程方式包含在 UITableView 中?