Iphone UIScrollView高度从IB调整

Iphone UIScrollView高度从IB调整,iphone,ipad,uiscrollview,height,scrollview,Iphone,Ipad,Uiscrollview,Height,Scrollview,我在Interface Builder中创建了一个UIScrollView,它占据了iPad的整个屏幕(0、0、1024、768) 但是,当运行应用程序时,scrollView仅在屏幕上显示为(0、0、1024、440)。440是一个估计值,但它并没有像它应该的那样一直向下延伸以填满屏幕 我在其他应用程序中也做过同样的事情,没有遇到过这个问题。 我在项目上运行了“Clean”,并尝试删除scrollView并重新创建它,但仍然出现相同的问题 我甚至试图通过编程来增强Interface Build

我在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并不是真正从0开始的。从哪里开始,它缺少内容的顶部。因此,scrollView的高度似乎为768,但从-320开始,因此它的顶部离开屏幕顶部,底部在屏幕底部之前结束。

问题似乎是,应用程序认为它处于纵向模式,尽管我在横向模式下使用了.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;

问题似乎是应用程序认为它处于纵向模式,尽管我的.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;

实际上,在横向模式下查看它只是为了方便您查看旋转设备时发生的情况。以横向模式启动可能会有问题

实际上,在横向模式下查看它只是为了方便您查看旋转设备时发生的情况。以横向模式启动可能会有问题

你能解释一下你的视图层次结构吗?检查正确,你在代码中的某些地方犯了一个错误。视图控制器在选项卡视图控制器或导航控制器中吗?它是一个基于视图的应用程序,我在其中创建了我自己的视图控制器。我在一个应用程序中遇到了类似的问题。我发现我对视图控制器提供的默认视图做了一些错误,我用一个IBOutlet绑定了该视图,无法访问视图的某些部分。仅供参考。重命名现有的并且可能正在使用相同的名称重新创建UIViewController将解决您的问题。您能稍微解释一下您的视图层次结构吗?请正确检查,您在代码中的某些地方犯了错误。视图控制器在选项卡视图控制器或导航控制器中吗?这是一个基于视图的应用程序,我在其中创建了自己的视图控制器。我在一个应用程序中遇到了类似的问题。我发现我对视图控制器提供的默认视图做了一些错误,我用一个IBOutlet绑定了该视图,无法访问视图的某些部分。仅供参考。重命名现有并且可能正在使用相同名称重新创建UIViewController将解决您的问题。