在我的iphone应用程序中,我在一个带框架的单元格中有两个UITextView (65,22,210,25) (65,40,210,25) 我用字符串填充这个textviews,我不知道它的长度(从数据库中检索) 我的问题在两个部分:
1-如果第一个textview超出其框架中的特定高度,它将超过第二个textview
2-当那些文本视图的高度变大时如何指定单元格的高度?我可以让细胞自动调整大小吗?
我对第一个问题的当前解决方案是在layoutSubviews中重新排列视图框架 对于第二个问题,我尝试计算textviews的新高度并将其传递给代理
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
任何更好的解决方案?
答案 0 :(得分:0)
你的方法是正确的。您可以使用sizeWithFont:constrainedToSize:lineBreakMode:
确定文本大小,然后在tableview:heightForRowAtIndexPath
计算单元格高度(只需记住包含框架的Y值)
这里可以看到更多代码:UILabel with -[sizeWithFont:constrainedToSize:lineBreakMode] is cutting off words
答案 1 :(得分:0)
你需要这样做 在你的
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
通过一个可以保持textView
适当高度的高度。
然后在
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
相应地调整textView
的高度,在上述两种方法中都使用sizeWithFont:constrainedToSize:lineBreakMode:
来确定所需的高度