iOS界面設置豎屏烫映,部分界面支持橫豎屏

背景:

公司項目里要接入全景播放器,但是項目里所有的界面都只支持豎屏噩峦,但是播放器技術總監(jiān)要求我必須能夠設置播放器橫屏播放锭沟。所以我在網絡上找了很多前人的解決方法,但大都不能滿足需求识补,然而也有可以用的方法可以使用族淮,特粘貼出來供大家使用。

一、在視圖管理器中設置橫豎屏

此方法只適用于window的rootViewController為ViewController

-(BOOL)shouldAutorotate { return YES; } -(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskAllButUpsideDown; }

二祝辣、在視圖管理器中設置特定視圖的橫豎屏

此方法只適用于window的rootViewController為NavgationController或TabbarController

tab中:
-(BOOL)shouldAutorotate{ return [[self.viewControllers objectAtIndex:(int)self.selectedIndex] shouldAutorotate]; } -(UIInterfaceOrientationMask)supportedInterfaceOrientations{ return [[self.viewControllers objectAtIndex:(int)self.selectedIndex] supportedInterfaceOrientations]; } -(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{ return [[self.viewControllers objectAtIndex:(int)self.selectedIndex] preferredInterfaceOrientationForPresentation]; }
nav中:
-(BOOL)shouldAutorotate{ return [self.viewControllers.lastObject shouldAutorotate]; } -(UIInterfaceOrientationMask)supportedInterfaceOrientations{ return [self.viewControllers.lastObject supportedInterfaceOrientations]; } -(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{ return [self.viewControllers.lastObject preferredInterfaceOrientationForPresentation]; }

然后在特定的viewController中實現方法一

三贴妻、建立單例對象管理全局的橫豎屏

只需要設置Appdelegate控制視圖橫豎屏的代理方法具體實現方法如下:

先在app delegate里加上下面這個方法
-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{ return [[VRScreenTool sharedControl] mask]; }
然后創(chuàng)建個單例類VRScreenTool全局進行調用
@interface VRScreenTool : NSObject @property (nonatomic, assign) UIInterfaceOrientationMask mask; +(instancetype)sharedControl; -(void)setOrientation:(UIInterfaceOrientationMask)mask; @end
@implementation VRScreenTool +(instancetype)sharedControl{ static VRScreenTool *instance; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ instance = [[self alloc] init]; }); return instance; } -(UIInterfaceOrientationMask)mask{ if (!_mask) { _mask = UIInterfaceOrientationMaskPortrait; } return _mask; } -(void)setOrientation:(UIInterfaceOrientationMask)mask { _mask = mask; } @end
然后在需要更改橫豎屏的界面進行引用修改就可以了
-(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[VRScreenTool sharedControl] setOrientation:UIInterfaceOrientationMaskAllButUpsideDown]; } -(void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [[VRScreenTool sharedControl] setOrientation:UIInterfaceOrientationMaskPortrait]; }

當然你也可以直接調用appdelegte直接使用代理方法,但是個人不建議這樣使用较幌。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末揍瑟,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子乍炉,更是在濱河造成了極大的恐慌绢片,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岛琼,死亡現場離奇詭異底循,居然都是意外死亡,警方通過查閱死者的電腦和手機槐瑞,發(fā)現死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進店門熙涤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人困檩,你說我怎么就攤上這事祠挫。” “怎么了悼沿?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵等舔,是天一觀的道長。 經常有香客問我糟趾,道長慌植,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任义郑,我火速辦了婚禮蝶柿,結果婚禮上,老公的妹妹穿的比我還像新娘非驮。我一直安慰自己交汤,他們只是感情好,可當我...
    茶點故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布劫笙。 她就那樣靜靜地躺著芙扎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪邀摆。 梳的紋絲不亂的頭發(fā)上纵顾,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天伍茄,我揣著相機與錄音栋盹,去河邊找鬼。 笑死敷矫,一個胖子當著我的面吹牛例获,可吹牛的內容都是我干的汉额。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼榨汤,長吁一口氣:“原來是場噩夢啊……” “哼蠕搜!你這毒婦竟也來了?” 一聲冷哼從身側響起收壕,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤妓灌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蜜宪,有當地人在樹林里發(fā)現了一具尸體虫埂,經...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年圃验,在試婚紗的時候發(fā)現自己被綠了掉伏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡澳窑,死狀恐怖斧散,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情摊聋,我是刑警寧澤鸡捐,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站栗精,受9級特大地震影響闯参,放射性物質發(fā)生泄漏。R本人自食惡果不足惜悲立,卻給世界環(huán)境...
    茶點故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一鹿寨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧薪夕,春花似錦脚草、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至姑隅,卻和暖如春写隶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背讲仰。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工慕趴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓冕房,卻偏偏與公主長得像躏啰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子耙册,可洞房花燭夜當晚...
    茶點故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內容

  • 1.監(jiān)聽屏幕旋轉方向 在處理iOS橫豎屏時给僵,經常會和UIDeviceOrientation、UIInterface...
    彬至睢陽閱讀 2,540評論 1 6
  • 最近有一個項目详拙,例如:A界面跳轉到B界面帝际,A界面是豎屏的,B界面進入就要橫屏饶辙。 花了半天的時間在網上搜索解決方案胡本,...
    手中的風信子閱讀 20,778評論 6 29
  • iOS 中橫豎屏切換的功能,在開發(fā)iOS app中總能遇到畸悬。以前看過幾次侧甫,感覺簡單,但是沒有敲過代碼實現蹋宦,最近又碰...
    零度_不結冰閱讀 2,195評論 0 0
  • 一披粟、橫豎屏有控制優(yōu)先級,一旦優(yōu)先級高的關閉了橫豎屏配置冷冗,優(yōu)先級低的無論如何配置都無法做到橫豎屏守屉。 對于限于VC范圍...
    EdenMa閱讀 378評論 0 0
  • 數據壓縮 概況 本章描述了幾種數據壓縮選項,它能夠幫助你減少磁盤空間的使用蒿辙,在某種情況下拇泛,還可以提高I/O性能。 ...
    LestatZ閱讀 1,263評論 0 1