我在UITextView
的所有单元格中都有一个UITableview
。文本视图的高度动态增加。随着文本视图大小的增加,我想增加该单元格的高度。
我写的是
-(BOOL)textView:(UITextView *)textView1 shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
NSLog(@"textTag%d",textView1.tag);
NSString *stringToSave = [textView1.text stringByReplacingCharactersInRange:range withString:text];
NSLog(@"Save me: %@", stringToSave);
CGFrame*frame =textView1.frame;
frame.size.height = textView1.contentSize.height;
textView1.frame = frame;
//在这里我需要增加特定细胞的高点。
if([text isEqualToString:@"\n"])
{
[textView1 resignFirstResponder];
}
return YES;
}
答案 0 :(得分:1)
插入这些行:
//class variable, type float
newHeight = textView1.contentSize.height;
//class variable, type int
cellIndex = /*set index of your cell for which you want extended height*/
[yourTable reloadData];
以下这些行:
CGFrame*frame =textView1.frame;
frame.size.height = textView1.contentSize.height;
textView1.frame = frame;
并在heightForRowAtIndexPath方法
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == cellIndex)
{
return newHeight;
}
return regularHeigh;
}
答案 1 :(得分:0)
向您的单元格添加名为HPGrowingTextView的自定义增长TextView。 然后如问题
中所示更改单元格的高度Change the UITableViewCell Height According to Amount of Text
答案 2 :(得分:0)
我认为您可以在NSMutableArray
中映射单元格的高度。
该数组将包含您拥有的标准高度。
您可以使用UITextView
标记indexPath.row
,以便了解要从阵列加载的项目。
您可以根据textview的高度覆盖数组中的值。
然后在你的
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return [[mycellsizearray objectAtIndex:indexPath.row]floatValue];
}
现在你应该根据自己的需要达到高度。