在我的ViewController中,我创建了一个名为UITextField *txtMyName;
的textField
之后,我将textField添加到tableViewCell [cell addSubview:txtMyName];
我可以在textField中编辑文字,但是当我从textField _strFullName = txtMyName.text;
获取文字时
但是,它是空值。
如何解决此问题!
*****编辑****
if (indexPath.row == 0) {
[self setFrameTextField:cell];
[self CustomTextField:cell :txtMyName];
if ([[dict_infoFriend objectForKey:@"Fullname"] isEqualToString:@" "]) {
txtMyName.placeholder = @"Name";
}
else{
txtMyName.text = [dict_infoFriend objectForKey:@"Fullname"];
}
[cell addSubview:txtMyName];
}
else if (indexPath.row == 1){
button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
button.frame = CGRectMake(cell.frame.size.width - 10, 0, 130, 40);
}
else{
button.frame = CGRectMake(cell.frame.size.width / 2 - 65, 0, 130, 40);
}
[self CustomBTN:button];
[button addTarget:self action:@selector(ClickDone) forControlEvents:UIControlEventTouchUpInside];
[cell addSubview:button];
}
答案 0 :(得分:0)
您还没有为文本字段分配内存,这就是为什么您可以编辑但无法对其进行检索。只需编写txtMyName = [[UITextfield alloc]init];
,一旦为文本字段分配内存,就可以将框架分配给文本字段,如txtMyName = [[UITextfield alloc]initWithFrame:CGRectMake(x,y,width,height)];
,然后您将从文本字段中检索文本
答案 1 :(得分:0)
由于您已将文本字段添加到表格单元格中,因此您必须首先获取单元格,然后使用textfield标记来获取文本。
试试这个,
假设您有txtMyName.tag = 100
-(void) ClickDone {
NSIndexPath *indexPath = [[NSIndexPath alloc] indexPathForRow:0 inSection:0];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:lastIndexPath];
UITextField *txtField = (UITextField *)[cell viewWithTag:100];
_strFullName = txtField.text;
}