【问题标题】:set Status Bar Color as Black in IOS 7在 IOS 7 中将状态栏颜色设置为黑色
【发布时间】:2014-08-31 12:54:30
【问题描述】:

在我的应用中,我设置了导航栏的图像。

但我想将状态栏设置为默认黑色,就像 ios6 一样。

我的代码如下:

NSString *ver = [[UIDevice currentDevice] systemVersion];
    int ver_int = [ver intValue];
    NSString* toReturn=@"";
       toReturn = @"logo_bar.png";
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:toReturn] forBarMetrics:UIBarMetricsDefault];

帮我解决这个问题。

【问题讨论】:

标签: ios iphone objective-c ios7 statusbar


【解决方案1】:

查看是否加载检查操作系统版本是否为 7 或更高版本。 然后在视图控制器的顶部添加背景颜色为黑色且高度为黑色的 uiview。

【讨论】:

    【解决方案2】:

    只需添加以下代码:

    -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
        {
            [[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];
        }
    

    【讨论】:

      【解决方案3】:

      如果您的图片尺寸为 320x64,请尝试使用尺寸为 320x44 的图片。我希望这会有所帮助。

      【讨论】:

        【解决方案4】:

        在里面做

        - (void)viewDidLoad{
          [super viewDidLoad];
        
          [self.navigationController.navigationBar
                setBackgroundImage:[UIImage imageNamed:@"logo_bar.png"]
                forBarMetrics:UIBarMetricsDefault];
        
          //...
        }
        

        或尝试将其设置为 AppDelegate#didFinishLaunchingWithOptions 方法中的所有导航栏

        [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"logo_bar.png"]forBarMetrics:UIBarMetricsDefault];
        

        确保您遵守Creating Resizable Images 的规则

        【讨论】:

          【解决方案5】:

          首先,将 info.plist 中的基于控制器的状态栏外观更改为 YES。 然后使用

          -(UIStatusBarStyle)preferredStatusBarStyle {
               return UIStatusBarStyleDefault;
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-09-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多