0

適切な/関連性のある回答が得られなかったため、この質問をしています(つまり、回答は得られましたが、希望する形式ではありませんでした)。あなたの誰かが私に正しい解決策を提供できることを願っています。

OK、私の質問は編集可能なラベルについてです。各セルに6つの異なるラベルが付いたカスタマイズされたセルを含む1つのテーブルビューがあります。

私が欲しいもの:

1)ユーザーがラベルに触れたときにラベルを編集したい(変更は保存されます)。

2)保存ボタンを押すと、テーブルビューのすべての値が配列に保存されます。

ここにスクリーンショットを添付します(私の質問を理解するのに役立つことを願っています)。

ここに画像の説明を入力してください

ノート :

上のスクリーンショットで私が欲しいのは、ユーザーが「綿」の単語に触れたときです。これは編集可能であり、ユーザーが次の単語(「パレット」を想定)に触れたときに、最初の単語(「綿」の意味)の変更を保存する必要があります。 。「保存」と呼ばれるボタンが1つあります(スクリーンショットにはありません)。ユーザーが「保存」ボタンを押すと、のすべての値がTableview何らかの配列に保存されます。

関連するコードで答えを教えていただければ非常に助かります。

4

2 に答える 2

0

まず、この場合、ラベルの使用を忘れて、代わりにUITextFieldを使用することをお勧めします。UITextFieldDelegateのメソッドを実装すると、編集を開始または終了したときに通知されます。

これが私がすることです。UITableViewCellのサブクラスを作成し、希望どおりに表示されるようにします。また、NSIndexPathプロパティも必要であるため、どの行が編集されるかを常に正確に知ることができます。(セルが提供したスクリーンショットのセルのように見える場合、この手順はかなり簡単です)

また、UITextFieldDelegateプロトコルを実装し、セルが編集されたときに通知するプロトコルを作成して、その内容を保存できるようにする必要があります。

コントローラで、データソースのコピーとなる一時的な配列を作成する必要があります。セルが編集されたら、一時配列の情報を更新する必要があります。保存を押すと、この配列を保存してデータソースにする必要があります。それ以外の場合は、nilに設定するだけで、ARCが処理します。

今のところコードを提供することはできませんが、ロジックを理解すれば、コードをコーディングするのは難しくありません。

于 2012-12-17T14:55:32.103 に答える
0

UItextFieldrowNumberとproductNameを格納できるように、サブクラス化する必要があります。ユーザーがUITextFieldをタップしたときの外観を変更して、タッチイベントをキャッチできます。textFieldDidBeginEditing,

そして、ディクショナリの特定の行のデータを保存すると、このディクショナリはテーブルの行を指す配列に保存できます。

于 2012-12-17T12:20:57.647 に答える