導航欄實用設置

導航欄設置顏色:  


    // 定製導航條背景樣式

    UIColor *navBarColor = GetColorFromRGB(16, 135, 237);

    if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1)

    {

        //    Load resources for iOS 6.1 or earlier

        [self.navigationBarsetTintColor:navBarColor];

    } else {

        // Load resources for iOS 7 or later

        [self.navigationBarsetBarTintColor:navBarColor];

    }

    

    // 定製導航條標題樣式

    NSDictionary *textAttributes = [NSDictionarydictionaryWithObjectsAndKeys:

                                    [UIColor whiteColor], NSForegroundColorAttributeName,

                                    DevSystemFontOfSize(18),NSFontAttributeName, nil];

    [self.navigationBarsetTitleTextAttributes:textAttributes];



    if (Dev_IOS_7_0)

    {

        NSDictionary* attrs =@{NSForegroundColorAttributeName: [UIColorwhiteColor],

                                NSFontAttributeName: [UIFontsystemFontOfSize:18]};

        [self.navigationBarsetTitleTextAttributes:attrs];

        

        self.navigationBar.translucent =NO;

    }

    

   設置圖片:

   [[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarPosition:UIBarPositionAny      barMetrics:UIBarMetricsDefault];
   [[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];




ios上 更改狀態欄(UIStatusBar)的顏色:

if (Dev_IOS_7_0) {//判斷是否是IOS7

        [[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBarStyleLightContentanimated:NO];

    }

簡單來說,就是設置顯示電池電量、時間、網絡部分標示的顏色,
這裏只能設置兩種顏色:

  • 默認的黑色(UIStatusBarStyleDefault)
  • 白色(UIStatusBarStyleLightContent)

可以設置的地方有兩個:plist設置裏面 和 程序代碼裏

1.plist設置statusBar

在plist裏增加一行 UIStatusBarStyle(或者是“Status bar style”也可以),這裏可以設置兩個值,就是上面提到那兩個
UIStatusBarStyleDefault 和 UIStatusBarStyleLightContent

這樣在app啓動的launch頁顯示的時候,statusBar的樣式就是上面plist設置的風格。

2.程序代碼裏設置statusBar

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];  

或者

//相對於上面的接口,這個接口可以動畫的改變statusBar的前景色

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];



ios上 狀態欄(UIStatusBar)的顯示隱藏:

//設置狀態、觸發系統方法

- (void)hiddenStatusBar:(BOOL)isShow

{

    _isShowStatusBar = isShow;

    [self setNeedsStatusBarAppearanceUpdate];   //調用這個系統方法、觸發下面 prefersStatusBarHidden 方法

}


//控制狀態欄的顯示隱藏

- (BOOL)prefersStatusBarHidden

{

    return _isShowStatusBar;

}


更改實例變量,從而隱藏狀態欄的狀態,導航欄丟失狀態欄所佔高度的 20pt




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章