UITableView 中的文本字段
Posted
技术标签:
【中文标题】UITableView 中的文本字段【英文标题】:TextField in UITableView 【发布时间】:2009-12-03 13:41:42 【问题描述】:我是 iphone 世界的新手..帮我解决这个问题。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
NSString *MYIdentifier =@"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MYIdentifier];
if(cell==nil)
cell=[[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MYIdentifier] autorelease];
CGRect frame =CGRectMake(5 ,10 , 320, 44);
UITextField *txtField = [[UITextField alloc]initWithFrame:frame];
[txtField setBorderStyle:UITextBorderStyleNone];
txtField.delegate=self;
switch (indexPath.row)
case 0:
txtField.placeholder=editFrndBDb.frndName;
txtField.text=editFrndBDb.frndName;
txtField.tag=1;
break;
case 1:
txtField.placeholder=editFrndBDb.bDay;
txtField.text=editFrndBDb.bDay;
txtField.tag=2;
break;
case 2:
txtField.placeholder=editFrndBDb.frndNote;
txtField.text=editFrndBDb.frndNote;
txtField.tag=3;
break;
default:
break;
[cell.contentView addSubview:txtField];
[txtField release];
cell.selectionStyle=UITableViewCellSelectionStyleNone;
return cell;
-(IBAction ) saveChanges:(id) sender
UITextField *name =(UITextField *)[self.viewWithTag:1];
UITextField *bday= (UITextField *)[self.viewWithTag:2];
UITextField *note=(UITextField *)[self.viewWithTag:3];
NSInteger fid=editFrndBDb.friendId;
if(name.text==NULL)
name.text=@" ";
if(bday.text!=NULL)
bday.text=@" ";
if(note.text!=NULL)
note.text=@" ";
[editFrndBDb editFriendInfo:name.text frndBdayIs:bday.text frndNoteIs:note.text frndIdIs:fid];
语句中的 saveChange 方法出错
UITextField *name= (UITextField *)[self.viewWithTag:1];
错误信息:-
"viewWithTag is some thing not a structure or a union:"
帮我解决这个问题...
【问题讨论】:
【参考方案1】:您错误地使用了消息的属性语法
应该是
[self viewWithTag:3];
不是
[self.viewWithTag:3];
【讨论】:
我已经尝试过 [self viewWithTag:3] 但使用它时会出现异常......在这一行...... 你也有 [self viewWithTag:2] 和 [self viewWithTag:1] 也改变了这些以上是关于UITableView 中的文本字段的主要内容,如果未能解决你的问题,请参考以下文章
使 UIViewController 中的 UITableView 滚动到文本字段
在 UITableView 上 reloadData 后文本字段没有被选中