我正在学习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吗? (你什么时候需要合成?)
答案 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];