下午,一个朋友问了一个问题,关于UITableView的,大概意思就是,他想在UITableView的Cell中实现UITextView在用户的输入过程中的高度动态更新。
关于高度自增长UITextView这个实现很简单,网上也有很多小例子,问题是,每次UITextView换行的时候,cell的高度也需要动态变化,这时候,代码直接修改了Model 的高度,但是:问题来了,修改了Model的高度之后,怎么搞定UITableViewCell的刷新,你要是说,简单啊,直接调用TableView的reload方法,恭喜你!中奖了,确实是刷新了Cell的高度,问题是,因为键盘被resign,所以,键盘被收下去了,用户输入过程换行导致了键盘被收起来,想继续编辑还得点一下UITextView重新调出键盘,这不是被产品狗叼到死的节奏吗!
那么解决方法是什么呢?很简单,你在UITextView的换行Block代码中加入一句,reload你在编辑的那个Cell的row行数的row+1特定的那一行,而不是整个UItableView都reload就行了,这样即刷新了cell的高度,也不会导致键盘被收下去,恩恩,完美解决!
时间: 2024-09-30 03:15:25