中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS開發教程——介紹Window的旋轉

發布時間:2020-07-25 12:14:42 來源:網絡 閱讀:1386 作者:藍鷗蔣杏飛 欄目:移動開發

想要創建一個自己的window用于展示提示,需要自己去處理該window的旋轉,根據不同的方向調整window的位置和transform。

一、那么就要完成2方面:

1、創建一個UIWindow,指定它的frame為statusBar的frame,并且設置該window的windowLevel級別略高于statusBar的windowLevel。

2、注冊系統的旋轉通知,監測設備方向變化,根據當前設備的方向做出相應的調整。

在完成整個過程中主要用到了UIWindow和transfrom有關內容,那么相比之下較難的就屬在自己旋轉window這一塊了。

二、Window的旋轉

UIKit通過UIWindow和UIViewContoller為我們提供了一套旋轉支持的框架,在方向變化以后viewController中view的坐標系統就已經被指引到正確的方向上去了,那么只要簡簡單單的再布下局就ok了。我們現在是直接通過UIWindow實現狀態欄提示控件,所以要獨立完成window旋轉操作。

大家都清楚對當前view設置的transform是針對它的父view的,window本身就是一種特殊的view。你可能會疑問window不就是最底層的view,它還有父view嗎?

答案是YES,不信的話你可以打印一下window的superView看看。window默認方向是portrait方向,向下y坐標增加,向右x坐標增加。因此Portrait方向我們只需要向普通的view那樣布局就可以了,其它幾個方向我們就需要用到transform和設置位置來搞定了。

如圖:從Portrait方向轉到landscapeRight方向展示:

iOS開發教程——介紹Window的旋轉iOS開發教程——介紹Window的旋轉iOS開發教程——介紹Window的旋轉iOS開發教程——介紹Window的旋轉

從上面圖中的展示可以很清楚的看到是怎樣將初始位置(Portrait方向),旋轉到目標位置(landscapeRight方向)的過程。

總結如下:

1、最開始window位置是在屏幕的最上面的

2、對window做90°順時針旋轉,就到了綠色的位置上了

3、第三步要再修改window的center到屏幕最右邊并且上下居中,使位置在到紅色虛線的部分

4、最后window的bound進行設置,目的讓window占據屏幕右邊的部分。

但是有一點大家一定要注意:在先前的時候window的transform就已經順時針轉了90°了,所以,高和寬也就不變了,此時width代表高,height代表寬。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

华阴市| 永定县| 阿克苏市| 利辛县| 正蓝旗| 葵青区| 理塘县| 怀宁县| 合水县| 陈巴尔虎旗| 日喀则市| 福海县| 巴里| 南召县| 宁河县| 慈利县| 榆林市| 孟连| 阳城县| 汶上县| 台前县| 云安县| 师宗县| 凯里市| 乐昌市| 商丘市| 凤城市| 萝北县| 铁岭县| 天气| 蒙自县| 电白县| 探索| 越西县| 长丰县| 邢台市| 奉节县| 威海市| 西和县| 鸡西市| 蓬莱市|