最新iOS在手機橫屏的時候打開app強制豎屏

最近在做項目時需求是只有在某一個頁面可以橫豎屏來回切換 其他頁面豎屏顯示

遇到的問題是在手機橫屏的狀態(tài)下 打開app 頁面是錯亂的,

下面是我的解決方案
1席吴、在Xcode中進行設置


w1.png

2妓布、在AppDelegate.h中添加旋轉屬性

/**
 *  是否允許轉向
 */
@property(nonatomic,assign)BOOL allowRotation; // 是否允許轉向

在AppDelegate.m中添加轉屏的代理方法

- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window
{
    //  如果設置了allowRotation屬性,支持全屏
    if (_allowRotation == YES) {
        return UIInterfaceOrientationMaskAll;
    }else{
        return UIInterfaceOrientationMaskPortrait;//默認全局不支持橫屏
    }
}

3省容、基類navigation代碼:

- (BOOL)shouldAutorotate {
    return self.topViewController.shouldAutorotate;
}
 
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return self.topViewController.supportedInterfaceOrientations;
}
 
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return self.topViewController.preferredInterfaceOrientationForPresentation;
}

4、項目里寫了一個公共的UIViewController变隔,名字為BaseViewController,創(chuàng)建的BaseViewController繼承UIViewController 在該viewController里進行了如下設置:

-(BOOL)shouldAutorotate{
    
    return YES;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}

-(BOOL)shouldAutorotate這個方法是重點 如果設置為NO,在橫屏手機的狀態(tài)下打開app頁面還是錯亂的
5右遭、如果你的應用的根控制器是TabVC,就把下面這段代碼放到TabVC根控制器下乖杠,

- (BOOL)shouldAutorotate{
    return self.selectedViewController.shouldAutorotate;
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return self.selectedViewController.supportedInterfaceOrientations;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return self.selectedViewController.preferredInterfaceOrientationForPresentation;
}

這里就實現(xiàn)了橫屏狀態(tài)下打開app豎屏展示的效果分扎。
如果想在某一個頁面里進行橫豎屏切換,可以進行如下設置

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [SimplifyAnswerAppDelegate sharedInstance].allowRotation = YES;
}
- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [SimplifyAnswerAppDelegate sharedInstance].allowRotation = NO;
}

[SimplifyAnswerAppDelegate sharedInstance]是我在appdelegate里面寫的一個類方法胧洒,SimplifyAnswerAppDelegate是我把appDelegate進行了重新命名畏吓,具體方法實現(xiàn)如下:

+ (SimplifyAnswerAppDelegate *)sharedInstance {
    return (SimplifyAnswerAppDelegate *)[UIApplication sharedApplication].delegate;
}

如果是用的APPDelegate,可以這么寫

AppDelegate * appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
 appDelegate.allowRotation = NO;  // 關閉橫屏僅允許豎屏

到這里就實現(xiàn)了前面說的所有頁面默認豎屏,部分頁面橫屏顯示的需求卫漫。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末菲饼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子列赎,更是在濱河造成了極大的恐慌宏悦,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異饼煞,居然都是意外死亡辫塌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門派哲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來臼氨,“玉大人,你說我怎么就攤上這事芭届〈⒕兀” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵褂乍,是天一觀的道長持隧。 經(jīng)常有香客問我,道長逃片,這世上最難降的妖魔是什么屡拨? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮褥实,結果婚禮上呀狼,老公的妹妹穿的比我還像新娘。我一直安慰自己损离,他們只是感情好哥艇,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著僻澎,像睡著了一般貌踏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窟勃,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天祖乳,我揣著相機與錄音,去河邊找鬼秉氧。 笑死眷昆,一個胖子當著我的面吹牛,可吹牛的內容都是我干的谬运。 我是一名探鬼主播隙赁,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼垦藏,長吁一口氣:“原來是場噩夢啊……” “哼梆暖!你這毒婦竟也來了?” 一聲冷哼從身側響起掂骏,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤轰驳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體级解,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡冒黑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了勤哗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抡爹。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖芒划,靈堂內的尸體忽然破棺而出冬竟,到底是詐尸還是另有隱情,我是刑警寧澤民逼,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布泵殴,位于F島的核電站,受9級特大地震影響拼苍,放射性物質發(fā)生泄漏笑诅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一疮鲫、第九天 我趴在偏房一處隱蔽的房頂上張望吆你。 院中可真熱鬧,春花似錦俊犯、人聲如沸早处。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砌梆。三九已至,卻和暖如春贬循,著一層夾襖步出監(jiān)牢的瞬間咸包,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工杖虾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烂瘫,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓奇适,卻偏偏與公主長得像坟比,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嚷往,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內容

  • 原文鏈接https://my.oschina.net/huqiji/blog/3031940第一種方法會出現(xiàn)無法轉...
    it彭于晏閱讀 3,376評論 1 7
  • 第一種解決方案(不推薦葛账,直接跳過看第二種解決方案): 需求: 強制橫豎屏,在某些情況下非常重要皮仁,在網(wǎng)上找了好多解決...
    sumrain_cloud閱讀 1,312評論 4 1
  • 第一步 首先保證工程支持橫豎屏 不多說看圖 保證圈紅的地方 打對勾 58F678EC-EABC-4320-9FCB...
    ylgwhyh閱讀 1,792評論 0 1
  • 前言 很長時間沒有更新簡書籍琳,原因不多說(因為懶)菲宴,最近比較清閑,想起來寫一篇文章來說一下iOS橫豎屏輕松切換的過程...
    Fly_Sunshine_J閱讀 3,185評論 3 4
  • 項目APP中總會遇到某些頁面需要橫屏展示趋急,其他頁面默認豎屏展示喝峦。所以總結了一套自己使用的橫豎屏方法。 首先我查看U...
    小志Shannon閱讀 460評論 0 3