UIPageViewController阶段

时间:2016-05-26 12:40:40

标签: swift

我读到了:

要创建页面内容视图控制器,我们添加一个帮助器方法。 在这种方法中,在某一点上,有这一行:

if let pageContentViewController = storyboard?.instantiateViewControllerWithIdentifier("PageContentViewController") as? PageContentViewController { ....`                                                      }                   `

我的问题是:

为什么之前" 故事板"还没有被宣布,但现在出现在上面一行?

2 个答案:

答案 0 :(得分:0)

有时为了简化项目,项目是在各种故事板上构建的。

如果您只有一个故事板,您知道要在这个故事板上访问其他视图控制器,您可以说:

self?.instantiateViewController....
// Here self refers to itself.. the only storyboard you havve

但是,在您的代码中,正在尝试跨不同的storyBoard访问视图控制器。这个不同的故事板会有一个id(你在活动检查器中设置)

//This is how you access a view controller in a different storyboard
let storyboard = UIStoryboard(name: "yourStoryBoardID", bundle: nil)
            let controller = storyboard.instantiateViewControllerWithIdentifier("yourViewControllerID") as UIViewController
            self.presentViewController(controller, animated: true, completion: nil)

此链接:" http://www.newventuresoftware.com/blog/organizing-xcode-projects-using-multiple-storyboards"非常有助于提供多个故事板的参考。

说清楚:它与页面视图控制器无关,这是因为我们使用多个故事板。 此外,如果您能提供更多代码或参考资料会更好。

答案 1 :(得分:0)

您的storyboard?变量应该是您拥有PageContentViewController的UIStoryboard的一个实例。上面的Akshansh Thakur代码向您展示了如何创建UIStoryboard,使用它。

它没有被声明,因为我认为理解如何创建PageContentViewController已经足够清楚了。无论如何,在您的代码行上方创建storyboard变量

if let pageContentViewController = storyboard?.instantiateViewControllerWithIdentifier("PageContentViewController") as? PageContentViewController { ....}