在方法- (void)viewDidLoad
中添加_parentScrollView
,将_parentScrollView
拖拽到底部,和预期效果有细微差别,马上意识到可能是控制器的不同生命周期方法中的self.view.bounds的不同数值引起的。
预期效果.png
运行机型系统:ios11
在方法- (void)viewDidLoad
和 - (void)viewWillAppear:(BOOL)animated
中self.view.bounds
的值分别为:
(origin = (x = 0, y = 0), size = (width = 414, height = 736))
(origin = (x = 0, y = 0), size = (width = 414, height = 672))
而在ios9
和ios10
系统下,两个生命周期方法中的值均为:
(origin = (x = 0, y = 0), size = (width = 414, height = 736))
总结:高度相差64(导航栏+状态栏高度),控制器vc的视图view在方法- (void)viewDidLoad
中没有加载完成,需要使用正确的self.view.bounds
的值,需要在方法- (void)viewWillAppear:(BOOL)animated
中使用
网友评论