ios9、10和ios11不同生命周期中的bounds的值区别

在方法- (void)viewDidLoad中添加_parentScrollView,将_parentScrollView拖拽到底部,和预期效果有细微差别,马上意识到可能是控制器的不同生命周期方法中的self.view.bounds的不同数值引起的。

实现效果.png

预期效果.png

运行机型系统:ios11
在方法- (void)viewDidLoad- (void)viewWillAppear:(BOOL)animatedself.view.bounds的值分别为:
(origin = (x = 0, y = 0), size = (width = 414, height = 736))
(origin = (x = 0, y = 0), size = (width = 414, height = 672))

而在ios9ios10系统下,两个生命周期方法中的值均为:
(origin = (x = 0, y = 0), size = (width = 414, height = 736))

总结:高度相差64(导航栏+状态栏高度),控制器vc的视图view在方法- (void)viewDidLoad中没有加载完成,需要使用正确的self.view.bounds的值,需要在方法- (void)viewWillAppear:(BOOL)animated中使用

你可能感兴趣的:(ios9、10和ios11不同生命周期中的bounds的值区别)