• navigationItem与navigationController关系


    在Appdelegate中这样设置后

    ViewController *vc = [[ViewController alloc]init];
    UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:vc];
    self.window.rootViewController = nav;

    然后在ViewController中有这样的

    可以看出navigationItem和navigationController是平级的
    但如下写又有

    但实际上UINavigationtroller并没有navigationItem这样直接的一个属性,因为UINavigationtroller继承自UIViewController,而UIViewController是有navigationItem这个属性的,所以才会出现如上的情况。
    因此如下设置是没有效果的。

    self.navigationController.navigationItem.title = @"这是没有效果的";

    正确的是

    self.title = @"";

    self.navigationItem.title = @"大王";

    这两个是等价的。

    //修改导航栏上左右按钮的字体颜色
    self.navigationController.navigationBar.tintColor = [UIColor redColor];
    //修改导航栏背景色
    self.navigationController.navigationBar.barTintColor = [UIColor purpleColor];
    
    //设置导航栏左右按钮    
    UIBarButtonItem *leftBar = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:nil];
    UIBarButtonItem *rightBar = [[UIBarButtonItem alloc]initWithTitle:@"下一页" style:UIBarButtonItemStylePlain target:self action:@selector(goToNewController)];
    self.navigationItem.leftBarButtonItem = leftBar;
    self.navigationItem.rightBarButtonItem = rightBar;

    效果如下:

    修改导航栏背景或左右按钮颜色

    ①单独设置某一按钮颜色,可以用

    self.navigationItem.rightBarButtonItem.tintColor = [UIColor blackColor];

    ②统一修改左右按钮颜色

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

  • 相关阅读:
    php 基本符号
    php-fpm 启动和关闭
    php redis安装
    nginx 的安装
    Windows下Nginx的安装与配置
    apache 限制IP网段访问
    解决mysql导入导出数据乱码问题
    log_bin_trust_function_creators错误解决
    Mysqlbinlog使用
    通过yum安装Nagios
  • 原文地址:https://www.cnblogs.com/Apologize/p/4998070.html
Copyright © 2020-2023  润新知