UIScrollView 调整自身大小
Posted
技术标签:
【中文标题】UIScrollView 调整自身大小【英文标题】:UIScrollView Resizing Itself 【发布时间】:2015-07-22 20:39:15 【问题描述】:我在 VC 中有一个 UIScrollView。在我的viewDidLoad
中,我调用了一个方法来设置内容大小。然而,问题在于它将 contentSize 设置为 638,但它立即设置为 800。一旦我旋转,我再次调用该方法,它会将自身更正为 638。
所以,在加载我的 VC 时发生了一些事情。此外,如果我延迟该方法调用并在我的 viewDidLoad 之后 0.01 秒调用它,它可以正常工作且花花公子。
有没有人知道 ios 7 内部会导致滚动视图自行调整大小的任何内容?
更多信息:我的超级班级都没有接触它。他们有一个滚动视图的属性,但我可以删除该属性并且它构建得很好。所以这是我编写的唯一一个涉及滚动视图的 contentSize 的类。
这不会在 iOS 8 上发生,只会在 iOS 7 上发生。
【问题讨论】:
在自动布局下,滚动视图根据它(滚动视图)和它的子视图之间的约束来设置它的contentSize
。有关详细信息,请参阅“Technical Note TN2154 UIScrollView And Autolayout”。这可能是你的问题吗?
尝试在viewWillAppear
中设置内容大小。您可能有一些限制,或者在界面生成器中的某处将内容视图的大小设置为 800?
【参考方案1】:
我不知道为什么会这样,但我的应用程序中也确实发生了这种情况。 您可以通过在 viewDidLoad 和 ViewWillAppear 中调用您的方法来修复它。
【讨论】:
以上是关于UIScrollView 调整自身大小的主要内容,如果未能解决你的问题,请参考以下文章
调整滚动视图框架的大小时,UIScrollView 子视图的大小调整不正确