码迷,mamicode.com
首页 > 其他好文 > 详细

导航控制器

时间:2014-06-20 13:51:52      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   ext   

bubuko.com,布布扣

设置导航栏的按钮并不是去设置导航栏本身,而是设置当时被导航的视图控制器,当前控制器只能设置title,titleView,backBarButtonItem(不能设置导航条颜色,使用当前控制器不能设置整个导航条(不能直接设置导航条整体)的属性,比如整体颜色,整体背景图等,那是给navigationBar管理的),因为每个控制器上面的导航条要显示什么(,比如title,,,)只有自己知道,所以每个viewController都有@property(nonatomic,readonly,retain) UINavigationItem *navigationItem;这个属性,用来定义其导航栏的外观,navigationItem里包含leftbarbuttonItem,rightbarbuttonItem,可以设置左右按钮视图。(navigationItem只能设置局部)

 

设置导航条颜色:

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

---------------------------------------------------------------------------------------

UIbarbuttonItem:

因为navigationItem有个titleView属性,所以title可以是个view,那么在storyboard界面拉一个按钮上去,系统不会帮你包装成UIbarbuttonItem类型,因为titleView它是个view,而UIbarbuttonItem(继承自UIbarItem)是一个UIbarItem(直接继承自NSObject,不属于UIView).

 

当你在storyboard界面拉一个button不放在titile位置,而放在导航条的左右视图时,系统会帮你包装成UIbarbuttonItem(在storyboard你可以看到UIbarbuttonItem里包装一个button,如图所示:)bubuko.com,布布扣

类型,这个时候如果设置此button的title,字体默认是白色,如果你直接拉一个UIbarbuttonItem放在导航条的左右视图时,你只能看到UIbarbuttonItem,不能看到UIbutton,如图所示:bubuko.com,布布扣并且按钮上的字体颜色默认是蓝色

当UIbarbuttonItem包装一个button时,这时不能直接删掉button(在storyboard中根本删不掉),如想删掉button,只要删掉barbuttonItem即可!!!

设置导航条title字体颜色:

NSMutableDictionary *md = [NSMutableDictionary dictionary];

    md[NSFontAttributeName] = [UIFont systemFontOfSize:16];

    md[NSForegroundColorAttributeName] = [UIColor whiteColor];
   [navBar setTitleTextAttributes:md];

因为navigationItem的title属性是NSString类型,所以不能设置颜色,但是如果给title一个view,然后在view中加一个label设置字体和颜色(因为navigationItem有个titleView属性,这样设置应该也可以,本人没有设置过,这样设置太麻烦),所以直接给navigationBar管理

 

 

 

导航控制器,布布扣,bubuko.com

导航控制器

标签:style   class   blog   code   http   ext   

原文地址:http://www.cnblogs.com/Fc-ios/p/3794424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!