您好,登錄后才能下訂單哦!
用來控制當前視圖控制器是否支持旋轉
- (BOOL)shouldAutorotate // 自動旋轉
{
return YES;
}
設置屏幕旋轉的方向,系統默認支持三個方向的旋轉,豎直,左右橫屏.
UIInterfaceOrientationMaskPortrait 豎直方向 正方向
UIInterfaceOrientationMaskLandscapeLeft 左橫屏
UIInterfaceOrientationMaskLandscapeRight 右橫屏
UIInterfaceOrientationMaskLandscape 左右 橫屏
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
當屏幕將要旋轉時觸發(此時屏幕還未旋轉)
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
}
當屏幕旋轉時觸發.
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
在該方法中,如果想要在屏幕旋轉時添加自己的動畫,在該方法中實現.
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
}
當屏幕旋轉完成之后觸發.
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
旋轉之后,繼續音樂播放,繼續播放視頻,打開用戶交互.
}
當對視圖控制器上的View布局時重新布局時 觸發.
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
}
釋放掉暫時不使用的內存,供當前程序使用.
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
Dispose of any resources that can be recreated.
當收到內存警告時,移除未在當前屏幕顯示的視圖.
判斷是否可以安全的移除控制器的View
判斷當前視圖控制器的view是否正在屏幕上顯示. self.view.window 是否為nil;
判斷當前視圖控制器的view是否已經成功加載. isViewLoaded 視圖是否加載
if (!self.view.window && [self isViewLoaded])
{
安全移除控制器的view
self.view = nil; 相等于 [_view release]; _view = nil;
}
}
當屏幕每次旋轉時都會觸發視圖的重新布局方法,為該視圖上的子視圖重新布局.
- (void)layoutSubviews
{
[super layoutSubviews];
對子視圖重新布局.
根據屏幕旋轉的方向,決定布局的樣式.
1.獲取屏幕旋轉的方向 statusBarOrientation 狀態條 高度 20
switch ([UIApplication sharedApplication].statusBarOrientation) {
case UIInterfaceOrientationPortrait:
case UIInterfaceOrientationPortraitUpsideDown:
break;
case UIInterfaceOrientationLandscapeLeft:
break;
case UIInterfaceOrientationLandscapeRight:
break;
default:
break;
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。