在tableview上添加UITextView的时候,要动态进行编辑并且换行。
当高度改变的时候,如果调用reloadData,会导致textView取消编辑,键盘消失。
在我们编辑的时候,这个样子往往不是我们想要的。
如果我们要实现这样效果,首先是要准确的获取到textView 内容的高度。
- (void)textViewDidChange:(UITextView *)textView{
NSString *content = [textView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
UITextRange *selectedRange = [textView markedTextRange];
UITextPosition *position = [textView positionFromPosition:selectedRange.start offset:0];
if (position) {
return;
}
YLLog(@"textView.text is ------>%@",content);
CGSize maxSize = CGSizeMake(TextViewWei, CGFLOAT_MAX);
CGSize size = [textView sizeThatFits:maxSize];
if (textView == self.shanchangTextView) {
if (size.height != self.shanchangSize.height) {
self.shanchangSize = size;
[self reloadIndex:textView];
}
}
- (void)reloadIndex:(UITextView *)textView{
self.shanchangTextView.frame = CGRectMake(15, 10, TextViewWei, self.shanchangSize.height);
self.shanView.frame = CGRectMake(0, self.shanchangTextView.it_bottom + 10, APP_SCREEN_WIDTH, AREA_LOGIC_HEIGHT(50));
[self.tbView beginUpdates];
[self.tbView endUpdates];
}