iOS--使用KVO強制修改設備方向達到橫豎屏轉變

/*

----------使用KVO強制修改設備方向達到橫豎屏轉變-----------

這種方法的表現是:statusBar會跟著屏幕做旋轉動畫。而且視圖中的其他控件會轉到橫屏布局

注意:這個方法不是官方提供的API.隨著系統版本的更迭有可能會失效

*/

//豎屏點擊按鈕 旋轉到橫屏

[[UIDevice currentDevice]setValue:[NSNumber numberWithInteger:UIDeviceOrientationPortrait] forKey:@"orientation"];//這句話是防止手動把設備置為橫屏,導致下面的語句失效

[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationLandscapeLeft] forKey:@"orientation"];

isPortrait = NO;

//? ? 橫屏點擊按鈕, 旋轉到豎屏

//? ? [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationLandscapeLeft] forKey:@"orientation"];//這句話是防止手動先把設備置為豎屏,導致下面的語句失效.

//? ? [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIDeviceOrientationPortrait] forKey:@"orientation"];

//? ? isPortrait= YES;

//同時還要必須支持自動旋轉

- (BOOL)shouldAutorotate

{

return YES;

}

//然后就是

- (NSUInteger)supportedInterfaceOrientations

{

if ([[UIDevice currentDevice].model isEqualToString:@"iPhone"]&&isPortrait) { //如果是iPhone,且為豎屏的時候, 只支持豎屏

return UIInterfaceOrientationMaskPortrait;

}

return UIInterfaceOrientationMaskLandscape; //否者只支持橫屏

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 上周四用了半天的時間,項目中寫的有關視頻橫屏的問題都沒有實現。查了很多資料,都沒有解決。今天早上終于解決了。記錄下...
    tiGress閱讀 4,149評論 4 6
  • 最近有一個項目,例如:A界面跳轉到B界面,A界面是豎屏的,B界面進入就要橫屏。 花了半天的時間在網上搜索解決方案,...
    手中的風信子閱讀 20,816評論 6 29
  • 1.監聽屏幕旋轉方向 在處理iOS橫豎屏時,經常會和UIDeviceOrientation、UIInterface...
    彬至睢陽閱讀 2,552評論 1 6
  • iOS 中橫豎屏切換的功能,在開發iOS app中總能遇到。以前看過幾次,感覺簡單,但是沒有敲過代碼實現,最近又碰...
    零度_不結冰閱讀 2,225評論 0 0
  • 應用整體只支持豎屏,只有特定的某個界面支持橫屏 解決方法: 1.在項目中plist文件中設置支持轉屏方向 轉屏控制...
    4VZhang閱讀 649評論 0 2