2010-10-12 46 views
3

我有兴趣创建一个带有UITextView的UITableViewCell,它可以在用户在UITextView中键入更多或更少的文本时调整它的高度(达到一定的最大值)。我知道如何将UITextView添加到自定义的UITableViewCell中 - 但是如何在用户正在输入时更改UITableViewCell的高度?这可能吗?如何在可变高度的UITableViewCell中使用UITextView?

回答

2

据我所知,设置表格单元格高度的唯一方法是通过委托人heightForRowAtIndexPath:方法。要调用这个方法,你可以在表上调用reloadData,但是我不确定对你正在编辑的UITextView有什么影响。值得一试虽然。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 

return 100; 
} 

要计算返回值,您需要根据当前输入计算出高度,并同时展开文本视图。 NSString有一些有用的方法,例如sizeWithFont:constrainedToSize:lineBreakMode :.它会计算一个CGSize,你可以用它来制作CGRect等。

+1

reloadData将导致单元重新加载,并且键盘将被删除。 – schwa 2010-10-19 06:09:57

相关问题