您好,登錄后才能下訂單哦!
手機屏幕旋轉時,試圖控制器可以相應一些方法,可以再這些方法里自己布局視圖
旋轉方向的枚舉類型
typedefNS_ENUM(NSInteger, UIInterfaceOrientation) {
UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight,
UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft
};
是否支持旋轉
- (BOOL)shouldAutorotate
{
NSLog(@"%s",__FUNCTION__);
returnNO;
}
在旋轉某一個方向時,是否支持旋轉
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
NSLog(@"%s",__FUNCTION__);
returnNO;
}
將要旋轉時走的方法,可以判斷要轉向的方向
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
NSLog(@"%s %f",__FUNCTION__,duration);
}
視圖將要布局子視圖
window調整顯示的view controller的bounds,由于view controller的bounds發生變化,將會觸發 viewWillLayoutSubviews 方法。
- (void)viewWillLayoutSubviews
{
NSLog(@"%s",__FUNCTION__);
}
視圖完成布局子視圖
- (void)viewDidLayoutSubviews
{
NSLog(@"%s",__FUNCTION__);
}
接著當前view controller的 willAnimateRotationToInterfaceOrientation:duration:
方法將會被調用。系統將會把該方法中執行的所有屬性變化放到動animation block中。
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
NSLog(@"%s %f",__FUNCTION__,duration);
}
旋轉完成執行的方法
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
NSLog(@"%s",__FUNCTION__);
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。