目前,在我的应用中,我有一个页面视图控制器设置。在页面视图控制器中,有3个不同的视图控制器。在三个视图控制器中,有按钮。我希望这些按钮能够触发页面视图控制器向左或向右移动。
到目前为止,我已经尝试在我的页面视图控制器中添加一个公共函数,并在另一个视图控制器中调用它,如下所示:
公共职能:
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 :(得分:1)
我猜你不应该使用默认的init(SocialMediaFeedViewController())传入你的VC - 这是故事板吗?
如果是,请使用
构建它 UIStoryboard(name: "SBName", bundle: nil).instantiateViewController(withIdentifier: "SocialMediaFeedViewController"))
如果没有,请将其初始化为开头,或者如果您仍然引用它,则重复使用它。