iOS 強制轉成橫屏的方式

2021-06-28 01:50:22 字數 1236 閱讀 4147

手裡的專案需要在豎屏的情況下有個別頁面進行橫屏強制切換,困擾了一天終於找到解決的辦法。辦法由如下兩個:

(1)手動改變view.transform屬性

簡明的說就是旋轉你的view,將view旋轉後強迫使用者進行橫屏操作

self.view.frame = cgrectmake(0, 0, [[uiscreen mainscreen] bounds].size.height, [[uiscreen mainscreen] bounds].size.width);
先設定乙個橫屏狀態的view 接下來在新增你要的控制項

接下來就是將你的view進行旋轉了,**如下:

self.view.center = cgpointmake([[uiscreen mainscreen] bounds].size.width/2, [[uiscreen mainscreen] bounds].size.height/2);

cgaffinetransform transform = cgaffinetransformmakerotation(m_pi/2);

[self.view settransform:transform];

好了,現在可以看到你的view大致已經達到了你想要的結果,如果你是隱藏狀態列,如果你的uiview中存在uitextfield你會發現你的鍵盤還是從豎屏狀態出現,鍵盤的方向跟狀態列有關,修改你的狀態列方向即可

在實際操作過程中 我發現乙個問題:在橫屏介面退至後台再進入前台會發現介面又旋轉了90...看了半天不知道問題在**,估計是狀態列的原因,我用了第二種方法

(2)通過setorientation:強制旋轉到乙個特定的方向

if ([[uidevice currentdevice] respondstoselector:@selector(setorientation:)])
但是要在子試圖中重寫下面幾個方法:

-(bool)shouldautorotate 

-(nsuinteger)supportedinte***ceorientations

- (bool)shouldautorotatetointe***ceorientation:(uiinte***ceorientation)tointe***ceorientation

但是如果第一種方法就能滿足你最好就用第一種,因為第二種畢竟存在一定的風險

強制轉成橫屏

一直遇到這個問題,今天終於找到了解決方法.在我們的專案中經常遇到橫豎屏切換,而又有某個特定的介面必須是特定的顯示方式 橫屏或豎屏 這就需要如下的處理了.強制轉成橫屏 if uidevice currentdevice respondstoselector selector setorientatio...

小胖說事30 iOS 強制轉成橫屏的方式

一直遇到這個問題,今天最終找到了解決方法.在我們的專案中常常遇到橫豎屏切換,而又有某個特定的介面必須是特定的顯示方式 橫屏或豎屏 這就須要例如以下的處理了.強制轉成橫屏 if uidevice currentdevice respondstoselector selector setorientat...

iOS強制橫屏

在網上查了很多資料均不能獲取自己想要的效果,最後整理了別人的思路,方法,再花了一天的工作量填坑,成功實現了想要的功能和效果,嗯,完美!原因就是坑少囉!廢話太多直接進入正題!第一步 uiinte ceorientationmask uiwindow window中新增以下 nsuserdefaults...