[英]Issues with presenting collectionview
我想在用戶點擊按鈕時顯示視圖控制器。 但是我收到錯誤消息:
UICollectionView must be initialized with a non-nil layout parameter
但是我確定我在viewDidLoad中設置了布局...
有什么建議么?
這是代碼。
這是我介紹視圖控制器的地方
func handleLogout(){
print("logout")
let loginController = LoginController()
present(loginController, animated: true, completion: nil)
}
這是登錄控制器viewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
let layout:UICollectionViewFlowLayout = UICollectionViewFlowLayout.init()
collectionView?.setCollectionViewLayout(layout, animated: true)
collectionView?.delegate = self
collectionView?.dataSource = self
collectionView?.backgroundColor = UIColor.white
}
如果有的話,我想我可能必須先初始化它,然后再介紹它。 不太清楚該怎么做。
原來我是對的,我懷疑在展示之前必須初始化collectionview是正確的。
就是這樣
let layout = UICollectionViewFlowLayout()
let loginController = LoginController(collectionViewLayout: layout)
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
let cellSize = CGSize(width: 90, height: 120)
//
return CGSizeMake(cellSize)
}
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {
return UIEdgeInsetsMake(top: 20, left: 10, bottom: 10, right: 10)
}
必須使用非nil布局參數初始化UICollectionView
它說您需要使用initWithFrame:collectionViewLayout:
以編程方式啟動您的collectionView
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.