从 UIViewController 启动 UICollectionView

Posted

技术标签:

【中文标题】从 UIViewController 启动 UICollectionView【英文标题】:Launch a UICollectionView from a UIViewController 【发布时间】:2017-03-14 12:56:02 【问题描述】:

我有一个登录屏幕,在用户成功登录后,我想打开我的仪表板,但问题是我无法这样做.

我对该主题进行了很多研究,但每个链接都指出UICollectionView 在哪里打开UIViewController,但反之则不然。

方法 1

let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("homeScreen") as UIViewController
self.presentViewController(viewController, animated: true, completion: nil)

方法 2

let homeController = (self.storyboard?.instantiateViewControllerWithIdentifier("homeScreen"))! as UICollectionView
self.navigationController?.pushViewController(homeController, animated: true)

使用上述代码时出现黑屏。

【问题讨论】:

您的UICollectionView 是否有任何单元格? UICollectionView 默认为黑色背景。 UIViewController 启动UICollectionView 是什么意思? @Losiowaty:是的,UICollectionView 有 6 个单元格,其中包含图像和标签,背景设置为 默认 你能用集合视图展示你的视图控制器的代码吗? 你是否正确实现了dataSouce和delegate方法?他们会被叫到吗?将背景颜色更改为清除颜色并检查。需要更多关于您尝试过的内容的背景信息。 【参考方案1】:

通常情况下,您遇到的黑屏是因为您的目标视图控制器(无论是推送还是呈现)在 viewDidLoad() 中没有 myCollectionView.delegate = selfmyCollectionView.dataSource = self

【讨论】:

【参考方案2】:

检查您的实用程序 > 连接是否有如下所示的转场:

由于无效连接,这可能会导致黑屏。如果有,请单击 x 断开第二个视图。

【讨论】:

以上是关于从 UIViewController 启动 UICollectionView的主要内容,如果未能解决你的问题,请参考以下文章

从 UINavigationController 启动一个新的 UIViewController

如何从正在运行的(uiviewcontroller)应用程序启动 cocos2d 场景

从设置视图 iOS 返回时启动不同的 UIViewController

从 uic 输出到 Qt 中的 C++ 代码

启动时如何将数据从 uiviewcontroller 发送到 uipopover?

PyQt5 从 pyuic5 转换文件或 uic.loadUi 调用 gui