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

溫馨提示×

溫馨提示×

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

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

UIWindow使用技巧

發布時間:2020-08-11 20:01:11 來源:網絡 閱讀:884 作者:fightFromNow 欄目:開發技術

看到UIWindow,相信很多人都會想起下方的代碼。這是舊版本Xcode提供的模板,用于創建整個項目的視圖容器。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    CGRect bounds = [UIScreen mainScreen].bounds;

    self.window = [[UIWindow alloc] initWithFrame:bounds];

    [self.window makeKeyWindow];

}


那究竟什么是UIWindow呢?它是繼承自UIView的一種特殊視圖,用于承載基本的UI控件,包括UIView。每個app里至少有一個UIWindow,稱作keyWindow。當這個window執行becomeKeyWindow

,makeKeyWindow或者makeKeyAndVisible方法,就成為了keyWindow。除了keyWindow之外,還可以創建其他的window用于輔助顯示。


UIWindow顯示:

通過new,alloc創建出來的window都是隱藏的,將window的屬性hidden設成NO或者執行makeKeyAndVisible就可以將window顯示出來。



UIWindow的默認顯示層級(UIWindowLevel)有3種:

UIWindowLevelNormal -- 普通層級,在狀態欄下方

UIWindowLevelAlert -- 跟UIAlertView一個層級,比狀態欄高一個層級

UIWindowLevelStatusBar -- 跟狀態欄一個層級

創建時默認是UIWindowLevelNormal,一般keywindow都是這個層級。由于UIWindowLevel是CGFloat數值,因此可以將該屬性設成一個具體的數值。或者在提供的3種值的基礎進行加減。如騰訊的自選股app中,刷新列表時候在狀態欄上方顯示一個刷新成功提示可以將UIWindowLevel設成UIWindowLevelStatusBar+1。


注意:

項目使用ARC時,使用臨時變量創建的UIWindow是不會顯示出來的。因為它會直接變銷毀掉。也是本人遇到的一個坑。




向AI問一下細節

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

AI

青铜峡市| 沈丘县| 万安县| 唐海县| 颍上县| 正镶白旗| 金平| 东平县| 达拉特旗| 新乐市| 江安县| 开平市| 肃宁县| 乐都县| 苏尼特左旗| 隆尧县| 承德县| 茌平县| 蓝山县| 普定县| 西充县| 汕尾市| 灵台县| 曲松县| 洱源县| 曲阜市| 合江县| 霍山县| 东乌珠穆沁旗| 雷山县| 中江县| 临安市| 哈巴河县| 吉首市| 宣化县| 自治县| 广昌县| 山丹县| 江阴市| 通山县| 镇雄县|