2017-06-12 56 views
2

目前,在我的应用程序中,我有页面视图控制器设置。在页面视图控制器中,有3个不同的视图控制器。在三个视图控制器中,有按钮。我希望这些按钮能够触发页面视图控制器向左或向右。允许按钮在页面视图控制器中触发新的视图控制器 - swift

到目前为止,我已经尝试添加我的页面视图控制器内的公共职能和其他象这样的视图控制器中调用它:

公共功能:

public func nextViewController(vc: UIViewController) { 
    HomeRootPageViewController().setViewControllers([vc], direction: .forward, animated: true, completion: nil) 

} 

被调用函数时,按钮在被击中不同VC:

@IBAction func backButton(_ sender: Any) { 
    HomeRootPageViewController().nextViewController(vc: SocialMediaFeedViewController()) 
} 

当我运行上面的代码我收到此错误:

UICollectionView: must be initialized with a non-nil layout parameter 

基本上,我想知道如何使用按钮来控制UI页面浏览控制器的功能。

+0

当你这样做会发生什么? –

+0

我在上面的答案中添加了错误消息。 @Lou Franco –

回答

1

我猜你不应该传入你用默认的init(SocialMediaFeedViewController())创建的VC--这是在故事板吗?

如果是这样,与

UIStoryboard(name: "SBName", bundle: nil).instantiateViewController(withIdentifier: "SocialMediaFeedViewController")) 

如果不建造它,做到这一点,但是你初始化它开始,或者重复使用它,如果你仍然有它的参考。

+0

我会这样做,但它不会给我我想要的动画,因为它是在一个页面视图控制器内 –

+0

我给你的代码可以用来实例化VC并呈现它,无论你想要什么。 –

相关问题