您好,匿名用户
随意问技术百科期待您的加入

动态创建一堆UITextField,怎么准确获取某一个

0 投票

这样根据数据信息,动态创建了一堆UITextField,每一个UITextField都对应了一个UIButton。

for(i=0; i<[users count]; i++)
{
    NSString *name = [users objectAtIndex:i];
    UITextField *user = [[UITextField alloc] initWithFrame:CGRectMake(0.f, top, 200.f, 30.f)];
    user.text = name;
    user.returnKeyType = UIReturnKeyDone;
    user.keyboardType = UIKeyboardTypeDefault;

    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(220.f, top, 80.f, 30.f)];
    [btn addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside];

    [self.scroller addSubview:user];
    [self.scroller addSubview:btn];

    top = top + 40;
}

现在要通过点击某个Button,修改对应的UITextField的值
之前都是把UITextField做成全局变量的,现在动态创建不能全局了,怎么办?

用户头像 提问 2012年 12月1日 @ Kha'Zix 上等兵 (269 威望)
分享到:

1个回答

0 投票

创建时

for(i=0; i<[users count]; i++)
{
    NSString *name = [users objectAtIndex:i];
    UITextField *user = [[UITextField alloc] initWithFrame:CGRectMake(0.f, top, 200.f, 30.f)];

    //注意这句
    user.tag = i;
    //注意上面这句
    user.text = name;
    user.returnKeyType = UIReturnKeyDone;
    user.keyboardType = UIKeyboardTypeDefault;

    UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(220.f, top, 80.f, 30.f)];
    [btn addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside];

    [self.scroller addSubview:user];
    [self.scroller addSubview:btn];

    top = top + 40;
}

获取时

UITextField *user = [self.scroller viewWithTag:i];

另建议将user命名为userTextField

用户头像 回复 2012年 12月1日 @ hacker 上等兵 (362 威望)
提一个问题:

相关问题

0 投票
1 回复 29 阅读
用户头像 提问 2014年 1月30日 @ Nasus 上等兵 (329 威望)
0 投票
1 回复 43 阅读
用户头像 提问 2012年 12月1日 @ Leona 上等兵 (279 威望)
+1 投票
1 回复 93 阅读
0 投票
1 回复 112 阅读
用户头像 提问 2012年 12月1日 @ Nocturne 上等兵 (262 威望)
0 投票
0 回复 22 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...