2013年3月5日火曜日

カスタムステータスバー

ステータスバーの位置に任意のメッセージを表示するライブラリ。


ソースは短くてよくまとまってる。ステータスバーの位置にカスタムビューを表示するのに UIWindowを使っていた。windowLevelをUIWindowLevelStatusBarにして背景を透明にするのがミソ。後はここに高さ20pxのビュー(barView)を貼りつけてメッセージを表示する。
- (UIWindow *)overlayWindow {
    if(!overlayWindow) {
        overlayWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
        overlayWindow.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
        overlayWindow.backgroundColor = [UIColor clearColor];
        overlayWindow.userInteractionEnabled = NO;
        overlayWindow.windowLevel = UIWindowLevelStatusBar;
    }
    return overlayWindow;
}
UIWindowって作るだけでビュー階層に組み込まれるのか。




0 件のコメント:

コメントを投稿