将屏幕导航栏更改为黑色

时间:2013-10-26 06:05:46

标签: ios iphone objective-c

我正在学习Objective-c并且在使顶部导航栏变黑时遇到一些麻烦。这是我到目前为止所做的:

// AppDelegate.h
#import <UIKit/UIKit.h>

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UINavigationController *navigationController;
@end

// AppDelegate.m
#import "AppDelegate.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;  // optional
    return YES;
}

我在这里做错了什么/不了解这个?这将如何解决?是因为我没有合成navigationController吗? (你什么时候需要合成?)

4 个答案:

答案 0 :(得分:0)

尝试设置Tint

[navbar setTint color:[uicolor blackColor]];

navigationController.navigationBar.barTintColor = [UIColor greenColor];

答案 1 :(得分:0)

这应该在viewWillappear中完成或者出现

默认情况下,iOS应用上的UINavigationBar为蓝色。 Apple有一些你可以使用的内置样式

[self.navigationController.navigationBar setBarStyle:UIBarStyleBlackOpaque];

可用选项包括:

UIBarStyleBlack
UIBarStyleBlackOpaque
UIBarStyleBlackTranslucent
UIBarStyleDefault

UIBarStyleBlackOpaque和UIBarStyleTranslucent已被折旧。您应该使用UIBarStyleBlack并将属性'translucent'设置为yes(如果需要)

您还可以使用以下两行代码之一将颜色更改为您想要的任何颜色,并调整颜色值。

self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:.7 green:.5 blue:.2 alpha:1];


self.navigationController.navigationBar.tintColor = [UIColor blackColor];

答案 2 :(得分:0)

如果您尝试使用导航控制器堆栈创建应用程序,通常会看起来像这样。

//Appdelegate.h
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end

//Appdelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    MyCustomViewController *vc = [[MyCustomViewController alloc] init];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:vc];
    navigationController.navigationBar.barStyle = UIBarStyleBlack;
    self.window.rootViewController = navigationController;
    [self.window makeKeyAndVisible];

    return YES;
}

答案 3 :(得分:0)

使用这可能会有所帮助

self.navigationController.navigationBar.tintColor = [UIColor blackColor];