質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

380閲覧

swift collectionViewの使い方

ataru2222

総合スコア272

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/08/15 08:42

collectionViewを使って対応した対応した絵文字を押したら、
テキストに反映されるような物を作ろうとしています。

collectionViewCellに絵文字の流し込みまでは成功したのですが、
その先の部分がわからなかった為質問させていただきました。

swift

1import UIKit 2 3class thirdViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate { 4 5 @IBOutlet weak var text1: UITextField! 6 // スタンプの定義(Unicode) 7 let stamps = ["1F600", "1F601", "1F602", "1F603", "1F604", "1F605", "1F606", "1F606", 8 "1F607", "1F608", "1F609", "1F60A", "1F60B", "1F60C", "1F60D", "1F60E", "1F60F", 9 "1F610", "1F611", "1F612", "1F613", "1F614", "1F615", "1F616", "1F617", "1F618", 10 "1F619", "1F61A", "1F61B", "1F61C", "1F61D", "1F61E", "1F61F"] 11 12 13 override func viewDidLoad() { 14 super.viewDidLoad() 15 16 17 } 18 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 19 // ★★★★★スタンプが押された時の処理を書く 20 //text1.text = ??? 21 } 22 23 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 24 return self.stamps.count //絵文字の数だけcollectionViewCellを作る 25 26 } 27 28 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 29 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) 30 if let label = cell.contentView.viewWithTag(1) as? UILabel { 31 // CollectionViewCellのUILabelを取得し、絵文字をに代入する 32 let text = UnicodeScalar(Int(self.stamps[indexPath.row], radix: 16)!) 33 label.text = text?.description 34 } 35 36 return cell 37 } 38 39} 40

イメージ説明

絵文字をクリックしたらその下に配置してあるテキストの中に対応する絵文字を入力したいのですが、
★★★★★の部分に入力するべきコードがわかりませんでした。
どなたかお力をお貸しください。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

CollectionView のセルがタップされた際に呼ばれる
UICollectionView の Delegate メソッドですね。

indexPath.row が押されたデータのインデックスなので
Array の stamps のインデックスと対応しています。
よって下記のようにかけます。

swift

1func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 2 let text = UnicodeScalar(Int(self.stamps[indexPath.row], radix: 16)!) 3 self.text1.text = text?.description 4}

投稿2019/08/15 09:25

編集2019/08/15 09:28
TakuyaAso

総合スコア1361

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ataru2222

2019/08/15 09:41

できました。 早急にご回答いただきまして ありがとうございました。
TakuyaAso

2019/08/15 09:52

良かったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問