关于scroll view的一个怪问题

iOS 码拜 10年前 (2015-05-11) 934次浏览 0个评论
 

我在view Controller上放置了一个scroll View,然后在scroll View上面放了很多view,view以一行一行的放置,每个小的view上放置了一行控件(其实是一行文本输入框,整个界面类似于一个表格,只是每一行文本输入框都放置在一个view上)大概如下图所示:

m_viewRow1
m_viewRow2
m_viewRow3
m_viewRow4
m_viewRow5
m_viewRow6
m_viewRow7

在没有键盘显示时,所有的行都是可以看到的。但是在点击某一行,输入数据的状态下,下面的两行就看不见了。所以我想在键盘弹出来的时候,我想让最底下一行能够显示在屏幕上(也就是整个窗口自动往上移一点)。
于是我在keyboardDidShow里面添加了如下代码
self.myScrollView.contentSize=CGSizeMake(self.myScrollView.frame.size.width,self.m_viewRow7.frame.origin.y+self.m_viewRowB7.frame.size.height+kbSize.height);
[self.myScrollView setContentOffset:CGPointMake(0, self.myScrollView.contentSize.height -self.myScrollView.frame.size.height) animated:YES];
其中kbSize.height是我获取到的键盘的高度。
测试结果显示,在Iphone上是没有任何问题的,效果正是我想要的。
但在IPad上测试时,却发现在键盘弹出时,并没有往上移,这是什么原因呢?

40分
是不是用的两边分离键盘?另外你这个处理有点奇怪,contentSize 一开始设置好就行了,不用在键盘出现时再去设置,键盘监听用 DidChanged 通知,收到通知后,也不用调整 frame,设置 contentInset 的 Bottom 为键盘高度就好

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于scroll view的一个怪问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!