我之前都是把UITextField做成全局变量的,现在动态创建不能全局了,怎么办?

这样根据数据信息,动态创建了一堆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的值


千巷猫影
浏览 121回答 1
1回答

呼唤远方

创建时for(i=0;&nbsp;i<[users&nbsp;count];&nbsp;i++) {&nbsp;&nbsp;&nbsp;&nbsp;NSString&nbsp;*name&nbsp;=&nbsp;[users&nbsp;objectAtIndex:i];&nbsp;&nbsp;&nbsp;&nbsp;UITextField&nbsp;*user&nbsp;=&nbsp;[[UITextField&nbsp;alloc]&nbsp;initWithFrame:CGRectMake(0.f,&nbsp;top,&nbsp;200.f,&nbsp;30.f)];&nbsp;&nbsp;&nbsp;&nbsp;//注意这句 &nbsp;&nbsp;&nbsp;&nbsp;user.tag&nbsp;=&nbsp;i;&nbsp;&nbsp;&nbsp;&nbsp;//注意上面这句 &nbsp;&nbsp;&nbsp;&nbsp;user.text&nbsp;=&nbsp;name; &nbsp;&nbsp;&nbsp;&nbsp;user.returnKeyType&nbsp;=&nbsp;UIReturnKeyDone; &nbsp;&nbsp;&nbsp;&nbsp;user.keyboardType&nbsp;=&nbsp;UIKeyboardTypeDefault;&nbsp;&nbsp;&nbsp;&nbsp;UIButton&nbsp;*btn&nbsp;=&nbsp;[[UIButton&nbsp;alloc]&nbsp;initWithFrame:CGRectMake(220.f,&nbsp;top,&nbsp;80.f,&nbsp;30.f)]; &nbsp;&nbsp;&nbsp;&nbsp;[btn&nbsp;addTarget:self&nbsp;action:@selector(clicked:)&nbsp;forControlEvents:UIControlEventTouchUpInside]; &nbsp;&nbsp;&nbsp;&nbsp;[self.scroller&nbsp;addSubview:user]; &nbsp;&nbsp;&nbsp;&nbsp;[self.scroller&nbsp;addSubview:btn]; &nbsp;&nbsp;&nbsp;&nbsp;top&nbsp;=&nbsp;top&nbsp;+&nbsp;40; }获取时UITextField&nbsp;*user&nbsp;=&nbsp;[self.scroller&nbsp;viewWithTag:i];另建议将user命名为userTextField
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

iOS