2 lanhailvcao lanhailvcao 于 2012.09.26 10:00 提问

在IBAction中如何读取UITextField的值?

怎么在IBAction中读取UITextField的值?UITextField是通过编程创建的,所以不能在XCode设置@property@synthesize。 我的UITextField生成文件如下:

for(i=0; i<[fieldName count]; i++)
{  
UITextField *name= [fieldName objectAtIndex:i];  
frame= CGRectMake(fromLeft, fromTop, totalWidth, totalHeight); 
name= [[[UITextField alloc] initWithFrame:frame] autorelease];        
name.borderStyle= UITextBorderStyleRoundedRect;   
name.returnKeyType= UIReturnKeyDone;  
//name.placeholder = [fieldName objectAtIndex:i];   \
name.autocapitalizationType= UITextAutocapitalizationTypeWords;       
name.adjustsFontSizeToFitWidth= TRUE;  
name.keyboardType= UIKeyboardTypeDefault;  
[name addTarget:self action:@selector(doneEditing:) 
forControlEvents:UIControlEventEditingDidEndOnExit];     
[scroller addSubview:name];   
fromTop= fromTop+ 40;
}

我想问的是,怎么实现点击按钮(IBAction)就能读取各个TextBox的值?先谢过了

3个回答

MrsSeven7
MrsSeven7   2012.09.26 11:54
已采纳

有一种方法,可以在UITextField中使用循环,继承self.view。把text添加给NSMutableArray。

 for (UITextField *field in self.view.subviews) {  
 if ([field isKindOfClass:[UITextField class]]) {  
 if ([[field text] length] > 0) {        
[someMutableArray addObject:field.text];  
 }  

}
}

MrsSeven7
MrsSeven7 不用客气.
大约 5 年之前 回复
lanhailvcao
lanhailvcao 谢谢
大约 5 年之前 回复
hjue
hjue   2012.09.28 17:15
  1. 在创建textfield后设置tag

    [name setTag:i];

  2. 通过textfield的tag属性获取

    UITextField *myTextField= [self viewWithTag:1];
    NSString *myString= myTextField.text;

lanhailvcao
lanhailvcao 谢谢你的回答
大约 5 年之前 回复
Mr_me
Mr_me   2012.09.26 11:50

不设置实体变量访问UITextField,应该在创建的时候标记下。

[textField setTag:1];

然后在访问的时候就可以从父视图的标记中读取:

UITextField *myTextField= [scroller viewWithTag:1];NSString *myString= myTextField.text;
lanhailvcao
lanhailvcao 谢谢你的回答
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!