ios狀態列操作

2021-06-13 19:19:57 字數 1287 閱讀 6468

讓狀態列顯示網路等待標誌

1.隱藏狀態列

記得隱藏狀態列後的你的「桌面」就增加320×20的大小,所以最好是在任何window或者view建立之前隱藏它。

2.狀態列風格

typedef enum uistatusbarstyle;  

3.狀態列方向

typedef enum uiinte***ceorientation;  

如上圖,通過在狀態列顯示自定義資訊,可以給使用者友好又不影響軟體使用的提示。

為此,我們顯得定義乙個自定義狀態列類,包含乙個顯示資訊的label:

@inte***ce customstatusbar : uiwindow  

- (void)showstatusmessage:(nsstring *)message;  

- (void)hide;  

@end  

接著,設定大小和系統狀態列一致,背景為黑色:

到這裡,為了讓自定義的狀態列可以讓使用者看到,還需要設定它的windowlevel。

在ios中,windowlevel屬性決定了uiwindow的顯示層次。預設的windowlevel為uiwindowlevelnormal,即0.0。

系統定義了三個層次如下,具體可參考官方文件:

[cpp] view plaincopy 

const uiwindowlevel uiwindowlevelnormal;  

const uiwindowlevel uiwindowlevelalert;  

const uiwindowlevel uiwindowlevelstatusbar;  

typedef cgfloat uiwindowlevel;  

為了能夠覆蓋系統預設的狀態列,我們把自定義的狀態列的windowlevel調高點:

[cpp] view plaincopy 

self.windowlevel = uiwindowlevelstatusbar + 1.0f;  

最後,為顯示資訊和隱藏新增一點無傷大雅的動畫:

[cpp] view plaincopy 

- (void)showstatusmessage:(nsstring *)message  

;  [uiview animatewithduration:0.5f animations:^;  

} completion:^(bool finished)];  

}  - (void)hide  

completion:^(bool finished)];;  

}

ios狀態列操作

cpp view plain copy print?顯示 讓狀態列顯示網路等待標誌 複製 1.隱藏狀態列 複製 記得隱藏狀態列後的你的 桌面 就增加320 20的大小,所以最好是在任何window或者view建立之前隱藏它。2.狀態列風格 複製 typedef enum uistatusbarsty...

ios狀態列操作

cpp view plain copy print?顯示 讓狀態列顯示網路等待標誌 複製 1.隱藏狀態列 複製 記得隱藏狀態列後的你的 桌面 就增加320 20的大小,所以最好是在任何window或者view建立之前隱藏它。2.狀態列風格 複製 typedef enum uistatusbarsty...

ios狀態列操作

cpp view plain copy print?顯示 讓狀態列顯示網路等待標誌 複製 1.隱藏狀態列 複製 記得隱藏狀態列後的你的 桌面 就增加320 20的大小,所以最好是在任何window或者view建立之前隱藏它。2.狀態列風格 複製 typedef enum uistatusbarsty...