2017-08-11 7 views
0

UICollectionViewControllerをメインのストーリーボードにドラッグし、対応するクラスを作成しました。カスタムクラスなしでUICollectionViewCellにUILabelをどのように追加しますか?

enter image description here 私はストーリーボードとビューコントローラーのすべてを正しく/接続しました。

enter image description here enter image description here

しかし、私は例えば、私はUILabel上のテキストプロパティを設定することはできません...私はUICollectionViewCellに配置したオブジェクトにアクセスすることができません。

enter image description here

私はカスタムUICollectionViewCellクラスを作成し、作成/ UILabelのすべてに@IBOutletを接続した場合は正常に動作します。

このカスタムUICollectionViewCellクラスを作成する必要がありますか?

ストーリーボードのツリービューに基づいて、ラベルがセルに追加されたことをコレクションビューで認識しているようです。

デフォルトのテキストを付けたラベルを追加して、余分なファイルを追加しないようにしたいだけです。下図のようにあなたも、カスタムクラスを作成せずに行うことができます

+1

dequeueReusableCellがラベルなしでUICollectionViewCellを返すため、カスタムクラスが必要です。しかし、カスタムクラスを書くことは本当に簡単です。 – Retterdesdialogs

+0

私はそれが簡単で、それを行う方法を知っていますが、セルのカスタムクラスを追加する必要はないようです。ストーリーボードは、セルにユーラベルオブジェクトが含まれていることを認識しているようで、コードはセルの識別子を知っているようです。手動で作成したカスタムクラスとiboutlet接続が必要です。 – seanb123

+0

@ seanb123私の答えを確認してください –

答えて

2

は、例えば「タグ」

を使用することによって、あなたのUICollectionViewラベルにタグ「101」を与えます。あなたのcellForRowAt方法で

その後:

let label = cell.viewWithTag(101) as! UILabel 
label.text = "Hi" 

enter image description here

はそれが役に立てば幸い!

+0

ありがとうございます。これは私が探しているものです。私はそれをセル識別子と一緒にすることを望んでいましたが、これはうまくいきます。 – seanb123

+0

ハッピーコーディング:-) @ seanb123 –

+0

Hmm .. @lmadどうやってセルに現れますか? – seanb123

0

UICollectionViewには、UITableViewのような既製のセルテンプレートはありません。 UICollectionViewCellの独自のクラスを作成する必要があります。

+0

これは質問に対する答えを提供しません。十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、[投稿にコメントする]ことができます(https://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- i-do-代わりに)。 - [レビューから](/レビュー/低品質の投稿/ 17006902) –

関連する問題