2016-04-15 23 views
0

誰でもUiCollectionView内のテキストフィールドを使用するための支援を提供できますか?私が達成しようとしているのは、ユーザーが投稿するための画像を保持するコレクションビューです。これらの画像を使って、それぞれの個々の画像に字幕を付ける機会を与えたいと思います。私が持っている問題は、私が他人が持っていることは確かです。ユーザーがテキストフィールドに入力すると、入力は後で自動的にテキストフィールドに入力されます。UICollectionViewCell内のテキストフィールド

例:5テキストフィールドを持つ画像。

画像1のキャプションユーザータイプ「こんにちは」

画像2のキャプションユーザータイプ「が」

画像3のキャプションユーザータイプ「どのようにしている」

テキストフィールドにユーザーが何かする前にイメージ4の場合は「Hello」と表示されます

私はスタックに1つのポスティングが有益であることを発見しましたが、私がやっていることをまだ理解していません。私は提案された手順に従った。 1.テキストビューの入力を保持する配列を作成する 2. "textFieldDidEndEditing"メソッドで、空でない場合に現在のテキストフィールドを入力として追加します。 私が混乱するのは、ステップ3です。@bhanuは、「テキストフィールドの値は配列から入力する必要があり、値を置き忘れません」と示唆しています。

答えて

0

テキストフィールド入力の配列を格納することができた場合、実際には途中にあります。しかし、テキストフィールドにリサイクルされたテキストの代わりに適切な値が表示されるようにするために、まだロジックが失われています。 NSIndexPathも保存する必要があります。それ以外の場合は、テキスト入力がどのセルに属しているかをどのように知ることになりますか? cellForItemAtIndexPathで次に

var textInputs = [String]() 
var textFieldIndexPath = [NSIndexPath]() 

func textFieldDidEndEditing(textField: UITextField) { 

// store the textfield.text into "textInput" array 
// you might need to find a way to store NSIndexPath of the selected cell // into "textFieldIndexPath" array here. From the textField instance, you should be able to trace the NSIndexPath of the cell it belongs to 

} 

、:心の中で

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 

let cell = collectionView.dequeueReusableCellWithReuseIdentifier("CollViewCellIdentifier", forIndexPath: indexPath) as! UICollectionViewCell 

if textFieldIndexPath.contains(indexPath){ 
    cell.textField.text = textInput[indexPath.row] 
} 
} 

ベア私が書いたものということは、あなたの質問の解決方法についての単なる目安です。結局のところ、このコードセットは厳格であり、バグや抜け落ちが起こりやすいため、修正する必要があります。しかし、私はそれがあなたの周りを回る方法についていくつかのアイデアを与えてくれることを願っています

柔軟性を高めるために2つの配列を維持するのではなく、Tuplesの配列を使用することをお勧めします。

+0

ありがとうございます!これは、私が使っていたロジックよりもきれいに見えます。私の解決策は、辞書を使用して私になってしまった – Mar

+0

私は助けることができた喜んで。私のコードセットは粗末なものであり、両方のアレイが同期していることに大きく依存するため、いくつかのバグが発生する可能性があります。だから、ちょうどそれからいくつかのヒントを取って、私が示唆したように、少しクリーンなものでそれを洗練することができれば最高だろう、タプルの配列またはあなたが辞書で回避することができれば良いかもしれない – rach