0

私には複数のセクションUITableView(約 12 セクション) があり、各セクションには 1 つ以上の行があります。UITextField行を選択したときに Delegate メソッドでセクション番号を取得するにはどうすればよいですか?

4

6 に答える 6

3

次のようなセルにテキストフィールドを追加した場合

[cell.contentview addSubview:yourtextfield];

次に、テキストフィールドデリゲートで

UITableViewCell *cell = (UITableViewCell *)[[textField superview] superview];
NSIndexPath *indexPath = [yourTableView indexPathForCell:cell];

NSLog(@"your Indexpath %d",indexPath.section);
于 2012-09-14T10:12:55.750 に答える
1

これを試して:-

-(void) textFieldDidBeginEditing:(UITextField *)textField {


    UITableViewCell *clickedCell = (UITableViewCell *)[textField superview];
    int section = [topicTable  indexPathForCell:clickedCell].section;
    NSLog(@"section %d", section);

}
于 2012-09-14T10:25:32.483 に答える
1

ユーザーが行を選択すると、コードで呼び出しを処理する必要があります

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
    {
        ** your code here**
    }

このメソッドにindexPath渡されるには、セクションと行の両方が含まれます。それを使用する方法を見つける最良の方法は、NSIndexPath のドキュメントを参照することですが、次のようなものだと思います。

indexPath.section 

必要なものです。

于 2012-09-14T10:14:57.847 に答える
0
UITableViewCell *cell = (UITableViewCell *)[[textField superview]superview];
NSIndexPath *indexPath = [yourTableView indexPathForCell:cell];

NSLog(@"your Indexpath %d",indexPath.section);

ただし、今後、uitableviewcell でタグ操作を実行するときにカスタムセルを作成することをお勧めします

于 2012-09-14T10:42:49.023 に答える
0

タグの値、テキストフィールドの値を表示し、このコードを試してください(タグを使用)

- (void)textFieldDidEndEditing:(UITextField *)textField {

   NSLog(@"%d : %@", textField.tag,textField.text);
    [textField resignFirstResponder];


}
于 2012-09-14T10:29:23.463 に答える
-1

Interface Builderで手動でテーブルビューを作成した場合、つまり静的セルを使用した場合は、各UITextFieldでタグを使用し、delegateメソッドでそれを確認できます。

12のセクションの場合、タグに次のように番号を付けることができます。たとえば、1203はセクション12の行3、600はセクション6の行0です。

于 2012-09-14T10:13:37.133 に答える