在方法- (void)viewDidLoad
中添加_parentScrollView
水援,將_parentScrollView
拖拽到底部,和預(yù)期效果有細(xì)微差別宴杀,馬上意識到可能是控制器的不同生命周期方法中的self.view.bounds的不同數(shù)值引起的癣朗。
實(shí)現(xiàn)效果.png
預(yù)期效果.png
運(yùn)行機(jī)型系統(tǒng):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
系統(tǒng)下,兩個(gè)生命周期方法中的值均為:
(origin = (x = 0, y = 0), size = (width = 414, height = 736))
總結(jié):高度相差64(導(dǎo)航欄+狀態(tài)欄高度)旺罢,控制器vc的視圖view在方法- (void)viewDidLoad
中沒有加載完成旷余,需要使用正確的self.view.bounds
的值绢记,需要在方法- (void)viewWillAppear:(BOOL)animated
中使用