ios 旋轉螢幕橫豎屏總結

2021-06-08 12:40:41 字數 1277 閱讀 2365

第一種:通過人為的辦法改變view.transform的屬性。

具體辦法:

view.transform一般是view的旋轉,拉伸移動等屬性,類似view.layer.transform,區別在於 view.transform是二維的,也就是使用仿射的辦法通常就是帶有字首cgaffinetransform的類(可以到api文件裡面搜尋這個前 綴的所有類),而view.layer.transform可以在3d模式下面的變化,通常使用的都是字首為catransform3d的類。

這裡要記住一點,當你改變過乙個view.transform屬性或者view.layer.transform的時候需要恢復預設狀態的話,記得先把他 們重置可以使用view.transform = cgaffinetransformidentity,或者view.layer.transform = catransform3didentity,假設你一直不斷的改變乙個view.transform的屬性,而每次改變之前沒有重置的話,你會發現後來 的改變和你想要的發生變化了,不是你真正想要的結果。

3.設定我們的view的中心點

cgpoint center = cgpointmake(frame.origin.x + ceil(frame.size.width/2), frame.origin.y + ceil(frame.size.height/2));

4.根據當前電池條的方向,獲取需要旋轉的角度的大小。通常

if (orientation == uiinte***ceorientationlandscapeleft) else if (orientation == uiinte***ceorientationlandscaperight) else if (orientation == uiinte***ceorientationportraitupsidedown) else

[uiview beginanimations:nil context:nil];

[uiview setanimationduration:duration];

//在這裡設定view.transform需要匹配的旋轉角度的大小就可以了。

[uiview commitanimations];

第二種:通過setorientation:的辦法強制性的旋轉到乙個特定的方向。

//強制橫屏

if ([[uidevice currentdevice] respondstoselector:@selector(setorientation:)])

iOS開發螢幕旋轉鎖定橫豎屏解決方法

第一步 配置為豎屏。禁用其他方向。如圖示 第二步 在viewdidload方法中用以下方法 說明 不是真正的旋轉螢幕,只旋轉當前的view self.view.transform cgaffinetransformmakerotation m pi 2 self.view.bounds cgrect...

橫豎屏旋轉失效

最近遇到乙個很奇怪的問題,activitya豎屏跳轉到activityb橫屏,返回的從b返回到a,a不是豎屏而是橫屏了,出現在少部分手機,這個問題 從橫屏回到豎屏會同時經歷activitya和activityb的生命週期 activityb的onpause activitya的onresume ac...

iOS螢幕旋轉與鎖屏

主要涉及以下4點 橫豎屏的旋轉 螢幕旋轉相應改變檢視位置 旋轉時狀態列的隱藏與顯示 鎖屏 1 橫豎屏旋轉 2 螢幕旋轉相應改變檢視位置 這裡先擴充套件uideviceorientation uiinte ceorientation的知識 其實uideviceorientation與uiinte ce...