我有一个非常讨厌的问题,其中无法弄清楚(也许我刚刚以错误的方式创建了我的tableview,我不知道)。我有一个UITableview有很多(分组的)自定义单元格,它们都有UItextField(就像你的联系人一样)。当我自动点击电话号码时,它将添加另一个电话号码(也像编辑模式中的联系人簿)。
要实现添加另一个UItableviewCell,我更新数据并使用
重新加载表的特定部分[MyTable reloadSections:[NSIndexSet indexSetWithIndex:2]withRowAnimation:UITableViewRowAnimationNone];
在那之后我打电话给
[aTextField becomeFirstResponder];
保持键盘的焦点。但是在重新加载之后我在我的文本字段上失去了焦点,因此我无法继续输入我的数字,而无需手动重新聚焦光标。
一个。它真的很烦人手动重新聚焦
湾某些函数被调用(textFieldDidEndEditing
)我不想被调用,除非我手动切换到另一个Uitextfield。
希望有人可以帮助我!
我非常感谢你有时间提前阅读。
答案 0 :(得分:0)
我希望这会对你有所帮助。但是这里的条件是,你应该使用标记文本字段
=============================================== =================================
cell =(UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:identifier];
if (nil ==cell) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier] autorelease];
UITextField *txtview = [[UITextField alloc]
initWithFrame:CGRectMake(93.0,36.0,190.0,94.0)];
txtview.backgroundColor = [UIColor clearColor];
txtview.tag = 15;
txtview.contentInset = UIEdgeInsetsMake(5 ,0 ,0 ,0);
txtview.textColor = [UIColor colorWithRed:221.0/255.0 green:249.0/255.0
blue:250.0/255.0 alpha:1.0];
[cell.contentView addSubview:txtShout];
[txtview release];
}
UITextField *txtview = (UITextField*)[cell.contentView viewWithTag:15];
txtview.text = [NSString stringWithFormat:@"%@",strText];
=============================================== ===========
[mTableView reloadSections:[NSIndexSet indexSetWithIndex:2]withRowAnimation:UITableViewRowAnimationNone];
int rows = [mTableView numberOfRowsInSection:2];
int row = rows-1; //last
int lastbutonerow = rows-2;
UITableViewCell *cell = [mTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:row inSection:2]];
UITextField *tf = [cell.contentView viewWithTag:15];
[tf becomeFirstResponder];
答案 1 :(得分:0)
如果您只插入了一行,并且知道它是哪一行,则不应使用reloadData
。您应该使用insertRowsAtIndexPaths:withRowAnimation:
。