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