zoukankan      html  css  js  c++  java
  • 导航控制器

    设置导航栏的按钮并不是去设置导航栏本身,而是设置当时被导航的视图控制器,当前控制器只能设置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,如图所示:)

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

    当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管理

  • 相关阅读:
    C++宏定义详解
    编写Qt Designer自定义控件 MyPlugins
    关于MFC共享DLL的模块状态切换 .
    QT 与 MFC 的区别 .
    typedef
    C++ floor函数
    C++ floor函数 截断浮点数小数部分 转
    MFC的多国语言界面的实现 转
    新工作 Day16 周五
    新工作 Day15 周四
  • 原文地址:https://www.cnblogs.com/Fc-ios/p/3794424.html
Copyright © 2011-2022 走看看