下拉控制中心就能打開,如果不行,可能系統(tǒng)bug了,手機重啟一下試一試。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供貞豐企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為貞豐眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。
我建議你還是返回正道。別用H5了。用react native就行了。JS實現(xiàn)全棧。create好項目之后,分別用XCODE和Android studio打開。如果你不懂原生API和一些原生的運作機制的話,就直接用JSX寫吧,會一點的話可以混合寫的,畢竟某些復(fù)雜功能原生API才能實現(xiàn)。IOS橫屏很簡單,打開XCODE,在的info.plist里面設(shè)置下方向就好了。就是Portrait、PortraitUpsideDown、LandscapeLeft、LandscapeRight這四個。
你只需要修改info.plist 文件就可以了。找到"Supported interface orientations" 設(shè)置item 項為Portrait就可以了。這個設(shè)置為全局設(shè)置。
1、iPhone6 Plus共有兩種顯示模式,分別為標(biāo)準(zhǔn)和放大模式官網(wǎng) 留言只有在“標(biāo)準(zhǔn)模式”下,才支持橫屏。所以要確保顯示模式在標(biāo)準(zhǔn)模式狀態(tài)下。
2、在控制中心將“方向鎖定”關(guān)閉即可讓iPhone Plus在手機橫放時自動變成橫屏顯示。
iPhone6 Plus顯示模式更改方法
激活蘋果6手機時,會讓你選擇顯示模式,如果要更改就看下面的步驟。
1、點擊主屏上的“設(shè)置”
2、在設(shè)置選項列表中找到“顯示與亮度”。
3、點擊“顯示模式”
4、選擇“放大”或者“標(biāo)準(zhǔn)”模式
5、切換不同的顯示模式之后需要重啟蘋果手機才能生效
在你想支持橫豎屏的viewController里面重寫兩個方法:
1
2
3
4
5
6
7
8
9
10
11
// 支持設(shè)備自動旋轉(zhuǎn)
- (BOOL)shouldAutorotate
{
return YES;
}
// 支持橫豎屏顯示
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
這樣在這個viewController中就可以橫豎屏切換了。
注意如果你window的rootViewController是一個navigationController,可能會出現(xiàn)以下問題:
你的navigationController只支持豎屏,但是你push到了某個新的controller中,這個controller支持橫豎屏,當(dāng)你在新的controller中切換到橫屏后(也有可能在切換到橫屏然后pop回來后),這時候程序會閃退,因為你的navigationController不支持橫屏。
如果你想解決這個問題,就需要自己寫一個UINavigationController的子類,在這個類中重寫方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
- (BOOL)shouldAutorotate
{
return [self.viewControllers.lastObject shouldAutorotate];
}
- (NSUInteger)supportedInterfaceOrientations
{
return [self.viewControllers.lastObject supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [self.viewControllers.lastObject preferredInterfaceOrientationForPresentation];
}
然后用這個類去創(chuàng)建實例作為window的rootViewController,這樣就可以避免這個問題了。
背景: app內(nèi)有一個雙頁的界面,然后某天運營說如果其中一頁能支持橫屏的話,對接的媒體就能給一整塊屏幕,然后需求就這樣下來了(雙頁:一頁支持橫屏效果,另一頁不支持)。
接下來就?是查文檔時間了,Duang,一下就查到了有沒有,就是下面這兩個方法。
//支持設(shè)備自動旋轉(zhuǎn)
//支持橫豎屏顯示
然后發(fā)現(xiàn)單純這兩個方法并沒有什么用,因為看文檔發(fā)現(xiàn)這個需要設(shè)置在根視圖中,具體說明如下:
也就是說到目前為止這兩個方法是全局設(shè)置的(打斷點發(fā)現(xiàn)其實是每個視圖進行屏幕旋轉(zhuǎn)時都會去根視圖里請求這個方法),好吧,接著查,終于讓我查到了解決方法。在根視圖中還是繼續(xù)調(diào)用這兩個方法,但是shouldAutorotate方法稍微改動了一下,意思就是讓系統(tǒng)再去當(dāng)前顯示的那個VC中去問應(yīng)不應(yīng)該允許屏幕旋轉(zhuǎn)。
接下來就可以在想要支持設(shè)備旋轉(zhuǎn)的VC里重寫這兩個方法了。
到這里其實指定視圖的屏幕自動旋轉(zhuǎn)其實就實現(xiàn)了,可是需求提的是在當(dāng)前這個VC中兩個頁面一個支持旋轉(zhuǎn)一個不支持旋轉(zhuǎn),所以便加上了一個BOOL屬性值來判斷地圖頁面是否展示,如果展示就支持旋轉(zhuǎn)。
功能實現(xiàn)了,接下來是頁面適配。現(xiàn)在屏幕旋轉(zhuǎn)過來完全無法直視啊,視圖只展示在了屏幕左面的一小部分,接著去找解決方法。發(fā)現(xiàn)在屏幕旋轉(zhuǎn)時系統(tǒng)會拋出來一個通知:
接下來在回調(diào)方法里面重新設(shè)置一下各個視圖的frame就可以了,還有就是應(yīng)該在各個View的layoutSubviews里面判斷一下,為橫豎屏分別寫一下視圖坐標(biāo)。
最后一個需求,屏幕方向的手動設(shè)置(因為一個界面支持橫屏,如果在橫屏模式下切回另一個只支持豎屏的界面就會出現(xiàn)問題,所以需要在切回之前重新設(shè)置下屏幕方向)。
這里吐槽一下,真的一定要吐槽一下,在百度上搜了半天,也可能是我搜索的方式有問題吧,告訴我的都是那個已經(jīng)被蘋果私有化的那個方法,然后果斷Stack Overflow,果斷秒解決。
OK,到這里需求就完全實現(xiàn)了,另外說一下全局設(shè)置的方法,之前最上面的那個算一種,然后也可以在TARGETS設(shè)置里面勾選,也可以在AppDelegate中設(shè)置。
最后一點就是其實還有一種偽屏幕旋轉(zhuǎn),其實就是設(shè)置View的transform來旋轉(zhuǎn)一定的角度,不過這個方法計算坐標(biāo)實在是太傷腦筋了,感興趣的可以自己試試。
網(wǎng)頁名稱:ios橫屏開發(fā),ios 橫豎屏
網(wǎng)站鏈接:http://chinadenli.net/article20/dsgsejo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、軟件開發(fā)、定制網(wǎng)站、App開發(fā)、靜態(tài)網(wǎng)站、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)