【问题标题】:Trying to change attributes like Title and back button on navigationcontroler尝试更改导航控制器上的标题和后退按钮等属性
【发布时间】:2012-07-13 07:45:43
【问题描述】:

我正在尝试在当前在堆栈上拥有我的视图的导航控制器上设置后退按钮。 我无法更改它的任何属性。

有没有办法可以抓住最顶部的导航控制器,例如:[self navigationcontroller]?

【问题讨论】:

    标签: ios cocoa-touch


    【解决方案1】:

    默认情况下,UINavigationController 中的后退按钮归父级所有。

    调用pushViewController:之前只需设置返回按钮

    UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
                                    initWithTitle:@"Go Back" 
                                            style:UIBarButtonItemStyleBordered
                                           target:nil 
                                           action:nil];
    
    [self.navigationItem setBackBarButtonItem:backButton];
    
    [self.navigationController pushViewController:myNewController];
    

    (取自this tutorial

    【讨论】:

    • 谢谢,我错过了这个信息!
    【解决方案2】:

    您可以使用self.navigationController 访问您的NavigationController。就像你在推送和弹出 ViewControllers 时所做的一样。

    默认情况下,您的NavigationController 会从您的ViewController 中获取标题,因此您只需像这样设置即可;

    self.title = @"My title";
    

    并访问后退按钮;

    self.navigationController.backBarButtonItem
    

    UINavigationController Class Reference

    【讨论】:

      【解决方案3】:

      设置标题:

      [[self navigationItem] setTitle:tabTitle];
      

      设置 barButton 外观

      [[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"Font-Name" size:12.0f], UITextAttributeFont, [UIColor blackColor], UITextAttributeTextColor, nil] forState:UIControlStateNormal];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-01
        • 2012-01-01
        • 1970-01-01
        • 2014-04-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多