iOS: UITableView cell上有UItextView之类,需要弹出键盘的 ,该如何调整frame


iOS: UITableView cell上有UItextView之类,需要弹出键盘的 ,该如何调整frame

cell的创建是在单独的类,

我自己的解决方法有两种

  1. 监听键盘通知,然后调整frame
    但是在多个UITextView之类的时候,都使用一个通知,通知的移除的问题(用完一次还要用)

  2. 使用KVO,设置一个变量来监听UItextView的编辑状态.

但是有和1同样的问题.解决方案也有,就是每次之前,移除通知,用完成后,再次添加通知.

3.使用一个代理,

不知道大家有没有什么好的解决方案?

在github上有些开源的例子,很多都是将输入push到到一个单独的页面.

还望多多指教.

IO uitextview frame uitableview

DABINGp 11 years, 2 months ago

商务合作(互惠互利,诚信做事)
长期出售原装二手iPhone,为ios开发者以及开发公司提供质量优异的测试机。
4s:850左右;
5:1500左右;
5c:1300左右;
5s灰色16g:1850-2000
6灰色16g:3550左右
不同内存和颜色会影响价格。
寻求长期合作,量大价优,并提供售后服务,解决您的后顾之忧。
qq:809790312;微信:15392032160

苍空翼Nayi answered 11 years, 2 months ago


 浏览问题的时候,既然在这么专业的社区出现广告,有一种淡淡的忧伤。。
言归正传,楼主的问题是不是为了避免键盘把textView给遮住?
如果是这样的话,我会通过uitextview代理begin和end方法来实现,然后去修改self.view的frame.origin.y来实现,让整个整体往上移动或者下降,从而让textView出现在导航和键盘之间的中间位置,当然要加些动画效果。因为键盘的高度是已知的,textView的frame也是知道的,所以要把view往上移动多少是可以计算得出来的。
附上一个Demo地址: http://blog.csdn.net/enuola/article/details/7917221,
希望我的回答对楼主有帮助。

百地三套夫 answered 11 years, 2 months ago

去看UITableView的这个方法,另外还有几个类似的


 - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath
              atScrollPosition:(UITableViewScrollPosition)scrollPosition
                      animated:(BOOL)animated

或者根据键盘高度直接设置contentOffset

ransoma answered 11 years, 2 months ago

Your Answer