UIScrollView在viewWillLayoutSubviews或viewDidLayoutSubviews中设置contentInset

时间:2016-08-03 07:22:44

标签: ios objective-c layout uiscrollview


所以这个问题不是一个特定的问题,而是一个通用的编码问题 到目前为止,我经常使用viewDidLayoutSubviews为我的UIScrollViews设置新的contentInset。原因很简单,viewDidLayoutSubviews self.topLayoutGuide.length设置正确,例如旋转。

但今天我想知道:
为什么不在contentInset中设置viewWillLayoutSubviews,那么这样做是不是更安全?
我之所以想知道的是:
在布置contentInset之前设置UIScrollView而不是设置之后不应该更好吗?例如,如果这样做,自动滚动可能表现得更好吗?

也许我只是在思考这一切。

你怎么看待这个?

1 个答案:

答案 0 :(得分:1)

您可以在视图控制器中设置self.automaticallyAdjustsScrollViewInsets = YES并让系统为您处理,或者您是否需要某种自定义插图?

修改

我不确定它会有所作为,虽然很难在不尝试的情况下确定。因为你只是调整插图,它实际上应该在布局传递完成之前或之后设置,因为它不会改变任何约束或触发另一个布局传递。除非你注意到滚动旋转的特定问题,否则我不会太担心它。