从 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 = self
和 myCollectionView.dataSource = self
。
【讨论】:
【参考方案2】:检查您的实用程序 > 连接是否有如下所示的转场:
由于无效连接,这可能会导致黑屏。如果有,请单击 x 断开第二个视图。
【讨论】:
以上是关于从 UIViewController 启动 UICollectionView的主要内容,如果未能解决你的问题,请参考以下文章
从 UINavigationController 启动一个新的 UIViewController
如何从正在运行的(uiviewcontroller)应用程序启动 cocos2d 场景
从设置视图 iOS 返回时启动不同的 UIViewController