0

アンケートフォームのように振る舞うはずの UIView があります。このビューでは、質問として機能する動的な量の UILabels と、ユーザーが回答を入力する場所である UITextField をプログラムで作成しています。この UIView には、次のフォームに移動するために押すボタンもあります。

私の質問は、10 個の質問があるとしましょう。特定のビューに 10 個の UITextFields を持つ 10 個の UILabels を意味します。ユーザーが終了する (ボタンをクリックする) ときに、繰り返し処理する各 UITextField から UILabel 値 (その回答の質問を示す) を取得できる方法はありますか?

簡単な解決策は、UILabel 値がその値であるディクショナリのキーとして各 UITextField ポインターを格納することですが、これ以上メモリやデータ構造を使用したくありません。

また、StoryBoard を使用する場合、アウトレットを介してラベルをテキストフィールドに接続できることも知っています。

UITextField に UILabel 値を格納できる隠し変数があるかどうかを調べてみましたが、そのようなものは見つかりませんでした。

このためのプログラム的で簡単な追加メモリのないソリューションはありますか?

4

3 に答える 3

1

tagラベルに一意のタグがあり、関連付けられたテキスト フィールドが +1 になるように、それぞれの を設定できます。

または、ループ中にフレームの原点位置に基づいて設定することもできます。

または、「隠された」変数ルートは、objc_setAssociatedObject

于 2013-07-11T14:28:08.540 に答える
1

はい、各 UITextField と UILabel にタグを付けることができます。完了したらタグがわかるので、タグからビューをチェックアウトして、やりたいことを何でもできます。

于 2013-07-11T14:27:53.527 に答える
0

おそらくタグを使用します。すべての UILabels と UITextfields を反復処理し、タグが同じ場合は、UILabel テキスト プロパティの値を取得し、適切な作業を行います。

于 2013-07-11T14:29:46.827 に答える