UIScrollView 高度和宽度

Posted

技术标签:

【中文标题】UIScrollView 高度和宽度【英文标题】:UIScrollView Height and width 【发布时间】:2015-11-17 19:31:41 【问题描述】:

我遇到了一个奇怪的问题,使用下面的代码我将 UIScrollView 设置为全屏。

CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
CGFloat screenWidth = screenSize.width;
CGFloat screenHeight = screenSize.height;
CGRect scrollFrame = CGRectMake(0, 0, screenWidth, screenHeight);
self.imageHostScrollView.frame = scrollFrame;
NSLog(@"Scroll Height: %f, Width: %f",screenHeight,screenWidth);

当 iPad 处于纵向模式时,我面临的问题是高度会变大而宽度会变小,而我的高度会变小而宽度会变大(在横向模式下也会发生同样的情况)。

纵向模式我得到的价值是

滚动高度:768.000000,宽度:1024.000000

在横向模式下,我得到的值是

滚动高度:1024.000000,宽度 768.000000

谁能帮帮我

【问题讨论】:

【参考方案1】:

问题在于您设置self.imageHostScrollView.frame 的方式很愚蠢。您实际上是在将关于屏幕的假设硬编码到视图的框架中——这两个东西彼此完全不相关。

改为使用自动布局将滚动视图的边缘固定到窗口的边缘。这样,无论窗口从现在开始会做什么——不做任何假设——滚动视图将继续准确地填充它。

【讨论】:

是的,你的解决方案帮助了我,但我需要上面的代码全屏(不知道原因)......无论如何,这实现了我所需要的。谢谢

以上是关于UIScrollView 高度和宽度的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 autoLayouts 动态增加 UIScrollView 的高度

UIScrollView 高度和宽度

UIScrollView 中宽度和高度相等的动态按钮

向其内容添加宽度和高度约束后,UIScrollView 滚动停止工作

UIScroll 视图 + UIView + UITableview 问题

如何在滚动视图中将内容居中?