我有一個UICollectionView
,我通過故事板放置在自定義UIViewController
中,並將其前導/尾隨/頂部/底部空間固定到其超級視圖。UICollectionView包裹在UIViewController中
然後,我有一個應該使用集合視圖的自定義UICollectionViewController
子類。所以在superview的UIViewController
(PrimaryViewController)中,我有一個集合視圖的插座,並且實例化我的自定義UICollectionViewController
。我將它分配給集合視圖,並將自定義UICollectionViewController分配爲集合視圖的委託和數據源。
但是,當我運行這個,收集視圖不會出現在屏幕上。很明顯,viewDidLoad()
在自定義類UICollectionViewController
中沒有被調用,所以要麼我缺少關鍵部分,要麼我以錯誤的方式接近。
有人可以告訴我如何構建集合視圖(通過Storyboard放置)和自定義類(僅用於代碼)之間的連接,以使其正常工作?
這是我(簡化)代碼,到目前爲止...
class PrimaryViewController : UIViewController {
@IBOutlet private weak var _collectionView:UICollectionView!
private var _collectionViewCtrl:CustomCollectionViewController!
override func viewDidLoad() {
super.viewDidLoad()
_collectionViewCtrl = CustomCollectionViewController(collectionView: _collectionView)
}
}
class CustomCollectionViewController : UICollectionViewController {
init(collectionView:UICollectionView) {
super.init(nibName: nil, bundle: nil)
self.collectionView = collectionView
self.collectionView.delegate = self
self.collectionView.dataSource = self
}
required init(coder aDecoder:NSCoder) {
super.init(coder: aDecoder)
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
爲什麼不能在'PrimaryViewController' IB嵌入'CustomCollectionViewController'。您可以將'UICollectionViewController'添加到'UIViewController',然後將其類更改爲您的自定義類。 – thelaws 2014-09-02 17:54:05
@thelaws原因是在我的PrimaryViewController視圖中還有一個工具欄,不僅僅是集合視圖。 – BadmintonCat 2014-09-02 18:07:15