複数の動的テーブルビューセルを含むテーブルビューがあり、各テーブルビューセル内に複数のテキストフィールドがあります。各セルには異なるタグがありますが、texfieldにはありません。そして、ユーザーが後で挿入する情報を取得する必要があります。私はInterfaceBuilderを使用しています。
タグ付けされていないtexfieldにアクセスすることは可能ですか?
「ユーザー定義のランタイム属性」を使用してこれを管理できますか?
ありがとう
複数の動的テーブルビューセルを含むテーブルビューがあり、各テーブルビューセル内に複数のテキストフィールドがあります。各セルには異なるタグがありますが、texfieldにはありません。そして、ユーザーが後で挿入する情報を取得する必要があります。私はInterfaceBuilderを使用しています。
タグ付けされていないtexfieldにアクセスすることは可能ですか?
「ユーザー定義のランタイム属性」を使用してこれを管理できますか?
ありがとう
これは、iOSを使い始めるときによくある間違いです。
特にテーブルビューで、テキストフィールドに格納されている情報を取得するために、テキストフィールドを直接参照しないでください。テーブルビューでは、セルが画面からスクロールアウトすると、セルが再利用される可能性が高く、そこに保存されていた情報は永久に失われます。
代わりに、ユーザーがビューコントローラをテキストフィールドデリゲートとして設定し、textFieldDidEndEditing:
デリゲートメソッドを実装して、テキストフィールドの編集が終了したときにテキストを保存します。
- (void)textFieldDidEndEditing:(UITextField *)textField
{
// Store the textField.text value somewhere for later use.
}
各セルのサブビューに目を通し、次のようなUITextFieldかどうかを確認できます。
for (UIView *subview in cell.subviews) {
if ([subview isKindOfClass:[UITextField class]]) {
// do something with the text field...
}
}
そうは言っても、これはおそらく最善のアプローチではありません... Uは、各textFieldにタグを付けるか、プロパティとしてtextFieldsを持つカスタムセルでセルをサブクラス化する方が適切です。