ios导航按钮颜色(iphone导航按钮)
本文目录一览:
- 1、ios 系统自带的navigation怎么改变返回按钮的颜色
- 2、如何设置导航栏颜色上 IOS 6/7
- 3、iOS6如何修改导航栏和底部标签栏的颜色(是否有插件可以修改)?
- 4、ios 设置导航栏颜色 写在哪
ios 系统自带的navigation怎么改变返回按钮的颜色
我想设置Navigation Bar的背景颜色为黑色,然后所有内部颜色为白色.
因此,我用了这段代码:
1
2
3
4
5
6
7
8
9
10
11
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],
NSForegroundColorAttributeName,
[UIColor whiteColor],
NSForegroundColorAttributeName,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
NSForegroundColorAttributeName,
[UIFont fontWithName:@"Arial-Bold" size:0.0],
NSFontAttributeName,
nil]];
但是,返回按钮文本颜色,箭头颜色以及导航栏按钮的颜色仍然为默认颜色,怎么修改它们?
解决方法 1:
自从IOS7后UINavigationBar的一些属性的行为发生了变化.你可以在下图看到:
现在,如果你要修改它们的颜色,用下面的代码:
1
2
3
4
self.navigationController.navigationBar.barTintColor = [UIColor blackColor];
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}];
self.navigationController.navigationBar.translucent = NO;
如何设置导航栏颜色上 IOS 6/7
状态栏的字体为黑色:UIStatusBarStyleDefault状态栏的字体为白色:UIStatusBarStyleLightContentAPP启动页状态栏颜色设置在info.plist添加Statusbarstyle,改变style值,就可以改变颜色,默认是Graystyle一、在info.plist中,将Viewcontroller-basedstatusbarappearance设置为NO,白色,YES,黑色如果Viewcontroller-basedstatusbarappearance为YES。则[UIApplicationsharedApplication].statusBarStyle无效。解决个别VC中状态栏字体颜色不同的法二、在appdelegate中:[UIApplicationsharedApplication].statusBarStyle=UIStatusBarStyleLightContent;三、在个别状态栏字体颜色不一样的vc中-(void)viewWillAppear:(BOOL)animated{[UIApplicationsharedApplication].statusBarStyle=UIStatusBarStyleDefault;}-(void)viewWillDisappear:(BOOL)animated{[superviewWillDisappear:animated];[UIApplicationsharedApplication].statusBarStyle=UIStatusBarStyleLightContent;}用下面的方法:1、在vc中重写vc的preferredStatusBarStyle方法。-(UIStatusBarStyle)preferredStatusBarStyle{returnUIStatusBarStyleDefault;}2、在viewDidload中调用:[selfsetNeedsStatusBarAppearanceUpdate];但是,当vc在nav中时,上面方法没用,vc中的preferredStatusBarStyle方法根本不用被调用。原因是,[selfsetNeedsStatusBarAppearanceUpdate]发出后,只会调用navigationcontroller中的preferredStatusBarStyle方法,vc中的preferredStatusBarStyley方法跟本不会被调用。解决法有两个:方法一:设置navbar的barStyle属性会影响statusbar的字体和背景色。如下。//statusbar的字体为白色//导航栏的背景色是黑色。self.navigationController.navigationBar.barStyle=UIBarStyleBlack;//statusbar的字体为黑色//导航栏的背景色是白色,状态栏的背景色也是白色。//self.navigationController.navigationBar.barStyle=UIBarStyleDefault;方法二:自定义一个navbar的子类,在这个子类中重写preferredStatusBarStyle方法:MyNav*nav=[[MyNavalloc]initWithRootViewController:vc];self.window.rootViewController=nav;@implementationMyNav-(UIStatusBarStyle)preferredStatusBarStyle{UIViewController*topVC=self.topViewController;return[topVCpreferredStatusBarStyle];}
iOS6如何修改导航栏和底部标签栏的颜色(是否有插件可以修改)?
底部标签栏设置(这里设置为白色):
self.tabBar.translucent
=
NO;//默认是透明的,设为不透明
self.tabBar.tintColor
=
[UIColor
whiteColor];
导航栏设置:(这里设置为白色)
self.navigationBar.translucent
=
NO;//同上
self.navigationBar.tintColor
=
[UIColor
whiteColor];
//你也可以通过改变导航栏样式,但是记住状态栏时跟随其变,导航栏为黑色,状态栏为白色,反之你懂的
//例如:设置导航控制器的样式为黑色,则状态栏随之变化为白色
self.navigationBar.barStyle
=
UIBarStyleBlackOpaque;
ios 设置导航栏颜色 写在哪
法一:(自定义视图的方法,一般人也会采用这样的方式)
就是在导航向上添加一个titleView,可以使用一个label,再设置label的背景颜色透明,字体什么的设置就很简单了。
//自定义标题视图
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 44)];
titleLabel.backgroundColor = [UIColor grayColor];
titleLabel.font = [UIFont boldSystemFontOfSize:20];
titleLabel.textColor = [UIColor greenColor];
titleLabel.textAlignment = NSTextAlignmentCenter;
titleLabel.text = @"新闻";
self.navigationItem.titleView = titleLabel;
方法二:(在默认显示的标题中直接修改文件的大小和颜色也是可以的)
[self.navigationController.navigationBar setTitleTextAttributes:
@{NSFontAttributeName:[UIFont systemFontOfSize:19],
NSForegroundColorAttributeName:[UIColor redColor]}];
方式二相对于方式一而言更加简单方便