我有一个滚动视图,上面有2个表格。桌子上的一切都很好。这两个表都不需要自己滚动。如果我调用
[自我。tableOne reloadData];按下按钮就会起作用。但当我在UITextView的委托方法中调用它时它不会动作。这是线程问题吗?或者是什么导致了这种奇怪的行为。
当用户按下每个单元格中的UITextView时,我想增加TableCell的大小。
我在这里添加了一个NSLog来确认这个方法正在被调用。
- (void)textViewDidBeginEditing:(UITextView *)textView
{
theTableCellCurrentlyBeingEdited = textView.tag;
[self.tableOne reloadData];
}
被触摸我注意到哪个单元格是活动的,调用reload table这样我就可以在
中调整这个单元格的高度- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath: (NSIndexPath *) indexPath
{
if (theTableCellCurrentlyBeingEdited == indexPath.row)
{
return 120;
}
else
{
return TABLE_CELL_HEIGHT;
}
}
但是heightForRowAtIndex永远不会被调用。
我有tableone数据源和委托设置为self。在我的。h中我添加了
<UITextViewDelegate, UITableViewDelegate, UITableViewDataSource>
电话来了。
谁能给我一些建议,到底是哪里出了问题?很多谢谢,代码
首先。你在哪里调用textView的文本?你用的是theTableCellCurrentlyBeingEdited = textView.tag;
标签不会给你输入的文本。你只是改变了单元格的标签,这不会改变单元格的视觉效果。
。为什么不调用:
- (void)textViewDidChange:(UITextView *)textView
或
- (void)textViewDidEndEditing:(UITextView *)textView
在第一个委托方法中你的单元格每写一个字符都会更新在第二个委托方法中你确定用户在textview中写完了?