把UIView覆蓋到狀態列上的方法

2021-09-25 08:10:41 字數 989 閱讀 7746

最近iphone上的乙個新聞閱讀軟體

這個軟體征服我這個吹毛求疵的人的乙個地方, 其實在於乙個小細節, 有了這個細節, 我覺得, 這軟體值了!

這個細節就是系統狀態列圖示, 從來沒有乙個程式在狀態列上做文章, reeder 做到了, 新聞的重新整理, 載入, 在系統狀態列上顯示, 顯得非常的蘋果味道, 如圖:

當然, 本文是討論技術, 不是軟體評測.

國外好多論壇上在問這個問題,但答案都是需要private api之類的,無法上store的方法. 但是reeder怎麼可以? 我也得可以才行 :) ,經過一段時間的琢磨, 我知道了這個實現方法, 分享給大家.

方法的原理就是, 生成乙個新的uiwindow, 把這個window放在狀態列之上! 其實這個效果早在2.0的時候就能實現, 只是我們這些不求甚解, 學習不紮實的人沒有注意到罷了.

那具體怎麼做, 我先賣個關子, 大家自己根據這思路研究一下, 其實, 很簡單, 很簡單, 我幾天後公布答案 :) 不要搶答噢 嘎嘎~~~

——————————–

公布答案:

首先 繼承 uiwindow, init的方法: 關鍵的語句 self.windowlevel=uiwindowlevelalert;

- (id) init

cgrect f=[[uiscreen mainscreen] bounds];

self = [super initwithframe:cgrectmake(0, 0, f.size.width, s.size.height)];

if (self != nil) {

self.windowlevel=uiwindowlevelalert;

self.backgroundcolor=[uicolor clearcolor];

[self makekeyandvisible];

return self;

現在 在這個window新增view 就會覆蓋到狀態列上了, 你猜對了麼??

把UIView覆蓋到狀態列上的方法

最近iphone 上的乙個新聞閱讀軟體 這個軟體 征服我這個吹毛求疵的人的乙個地方,其實在於乙個小細節,有了這個細節,我覺得,這軟體 值了 當然,本文是討論技術,不是軟體評測.國外好多論壇上在問這個問題,但答案都是需要private api 之類的,無法上store的方法.但是reeder怎麼可以?...

winform中的狀態列,以及在狀態欄目上顯示時間

1 在winform上新增狀態列,並且在狀態欄目上多新增幾個label。step1 拖乙個statusstrip到winform上,名字預設為statusstrip1。找到statusstrip1的items屬性,雙擊開啟新增3個statuslabel。名字預設分別為toolstripstatusl...

狀態列的建立

讓對話方塊的狀態列顯示時鐘 滑鼠位置 滑鼠點的顏色資訊等 新增字串資源 id indicator pos 滑鼠所在位置 id indicator color 滑鼠位置顏色 id indicator time 當前系統時間 在對話方塊類標頭檔案中進行狀態列物件的定義 cstatusbar m wnds...