iOS view.frame的变化过程

iOS中view.frame 的变化过程:

1、在layoutSubviews(UIView)或viewWillLayoutSubviews(UIViewController)之前frame就已经发生变化;
2、如果设置了autoResizingMask,在旋转设备时,willRotateToInterfaceOrientation frame没有发生变化,didRotateFromInterfaceOrientation frame已经发生变化;
3、如果设置了autoResizingMask,view的frame改变是在superView的frame变化时,同时发生变化;

变化流程示意如下:
willChangeFrame(willRotateToInterfaceOrientation) ——> setFrame ——> viewWillLayoutSubviews ——> viewDidLayoutSubviews ——> didChangeFrame ——> (didRotateFromInterfaceOrientation)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章