UIScrollView高度从IB调整

时间:2011-06-27 04:14:13

标签: iphone ipad uiscrollview height scrollview

我在Interface Builder中创建了一个UIScrollView,占用了iPad的整个屏幕(0,0,1024,768)

但是 - 运行应用程序时,scrollView仅在屏幕上显示(0,0,1024,440)。 440是一个估计值,但它没有一直向下扩展以填充屏幕。

我在其他应用中做过同样的事情并没有遇到过这个问题。 我在项目上运行“Clean”,我尝试删除scrollView并重新创建它,但仍然会出现同样的问题。

我甚至尝试以编程方式强化Interface Builder中的内容,但它仍然以相同的方式显示。

CGRect scrollFrame = CGRectMake(0, 0, 1024, 768);
[scrollView setFrame:scrollFrame];

如果你知道为什么会这样,你的帮助将非常受欢迎。

*更新* 经过一些研究,视图控制器出了问题。 在scrollView未显示的底部的那个区域完全无法访问。如果我在屏幕底部放置一个按钮,则无法单击该按钮。如果它在屏幕的上半部分,我可以点击它就好了。

此外,scrollview实际上并不是从0开始。在它开始的地方,它缺少内容的顶部。因此看起来scrollView DOES的高度为768,但从-320开始,使其顶部不在屏幕顶部,底部在屏幕底部之前结束。

2 个答案:

答案 0 :(得分:0)

问题似乎是应用程序认为它处于纵向模式,即使我在横向模式下使用.xib。

修复了mainProjectViewController的viewDidLoad中的这个小技巧:

CGRect landFrame = self.view.frame;
landFrame.size.width = self.view.frame.size.height;
landFrame.size.height = self.view.frame.size.width;
self.view.frame = landFrame;

答案 1 :(得分:0)

实际上,以横向模式查看它只是方便您查看旋转设备时会发生什么。以横向模式启动可能会有问题。 See this question and its answers for some excellent info.