ios - UIScrollView 在 vi​​ewWillLayoutSubviews 或 viewDidLayoutSubviews 中设置 contentInset

标签 ios objective-c layout uiscrollview


所以这个问题不是关于一个具体的问题,而是一个一般的编码问题。
直到现在,我经常使用 viewDidLayoutSubviews 为我的 UIScrollViews 设置一个新的 contentInset。原因很简单,在 viewDidLayoutSubviews self.topLayoutGuide.length 设置正确,例如旋转。

但是今天我想知道:
为什么不在 viewWillLayoutSubviews 中设置 contentInset,这样做不是更安全吗?
我想知道的原因是:
在布局 UIScrollView 之前设置 contentInset 难道不是比在布局之后设置更好吗?例如,如果这样做,自动滚动可能会表现得更好?

也许我只是想多了。

你怎么看这件事?

最佳答案

您可以在 View Controller 中设置 self.automaticallyAdjustsScrollViewInsets = YES 并让系统为您处理,还是您需要某种自定义 insets?

编辑

我不确定这是否会有所不同,尽管不尝试就很难确定。由于您只是在调整插图,因此在布局 channel 完成之前或之后设置它实际上应该很重要,因为它不会更改您的任何约束或触发另一个布局 channel 。除非您注意到旋转滚动的特定问题,否则我不会太担心它。

关于ios - UIScrollView 在 vi​​ewWillLayoutSubviews 或 viewDidLayoutSubviews 中设置 contentInset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38736980/

相关文章:

ios - 属性文本 UILabel 在 UICollectionViewCell 中被截断,但在 UITableViewCell 中未被截断

ios - 在 UIView 内旋转 UIImageView 的奇怪行为

objective-c - 文字对象语法是否仅适用于 OS X 开发?

ios - 更改 UITableView 中静态单元格中的文本标签

html - 带 Angular Material 的 Pinterest 布局

css - 如何将网站的位置设置在窗口的中间/中心?

ios - iOS 上的钛合金 : When a user gets an app update, 它会删除并重置本地数据库

ios - 如何在xcode中将SubviewToFront tableview下拉按钮

ios - 静态 NSString 使用与内联 NSString 常量

css - HTML 布局居中