Xcode7.0 UICollectionView

とまチョップスタンプをSwiftで書くため色々やっていて一番ハマったところ。

結局原因はよくわからず。

問題は単純

どうしてもUICollectionViewが表示できない

環境:

Xcode7.0

Swift

iOS9.0 iPhone Simulator

Storyboard使用


1.まずいつも通りUICollectionViewをViewControllerの上に置いてIBOutletで接続

2.UICollectionViewDelegate, UICollectionViewDataSourceを追加

3.collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int でセクション内のアイテムの数を設定

4.collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell でアイテムの中身を設定

5.Run


さあこれで表示できる、と思ってUICollectionViewが表示されるところまで行くと、そこで落ちた。

*** Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘UICollectionView must be initialized with a non-nil layout parameter’


layoutがnilだよ!って怒られました。

いままでStoryboardを使っていてこれは出たことがなかったのですが、どうやらFlowLayoutを設定しなければならない模様。(というかStoryboardでFlowLayoutの設定がされてると思ってました。)


registerClass(UICollectionViewCell, forCellWithReuseIdentifier: “ReuseIdentifier”)を入れてると動かないよー、というのも見かけましたが、そもそも最初から入れていなかったので原因はそれでもなく…


ちなみにStoryboardでいろいろレイアウトの設定をしてみたところ、全く反映されませんでした。

ですが、こちらはよく調べなかったため何か方法があるかも。


で、とりあえず

myCollectionView.collectionViewLayout = UICollectionViewFlowLayout()

と入れてみる

動いた。

とりあえず表示はされた。


うぬぬ。よくわからぬ。


この後、viewWithTag( )が動かなかったのですが、そちらはあきらめました


カテゴリ: アプリ制作. Bookmark the permalink.

Comments are closed.