【问题标题】:Can't set UINavigationItem title programmatically无法以编程方式设置 UINavigationItem 标题
【发布时间】:2012-05-30 18:18:17
【问题描述】:

我使用情节提要设置我的应用程序,并将我的主视图控制器嵌入到 UINavigationControler 中。要更改出现在导航栏中的标题,在我的主视图控制器的 viewDidLoad 方法中,我有 self.navigationItem.title = @"My Title"; 但标题永远不会设置。

我的猜测是我需要在我的故事板中设置一个参考插座,但我不确定什么需要连接到什么。有什么想法吗?

【问题讨论】:

    标签: ios uinavigationcontroller uinavigationbar uinavigationitem uistoryboard


    【解决方案1】:

    在故事板中,它不会自动连接,请使用 .h 文件中的以下代码制作 UINavigationItem

    @property(weak, nonatomic) IBOutlet UINavigationItem *navBar;
    

    在.m文件中合成属性并这样设置标题

    @synthesize navBar;
    -(void)viewWillAppear:(BOOL)animated {
    [self.navBar setTitle:@"Sign In"];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
    }
    

    另外,不要忘记将storyBoard中的UINavigationItem“navBar”与你的类连接起来,这样storyboard就知道要改变谁的标题了。如果您的情节提要中没有 UINavigationItem,请将其添加到 UIView 之外,然后正确连接

    【讨论】:

      【解决方案2】:

      只需设置您所在的视图控制器的标题属性就可以了。

      [self setTitle:@"Best Page Ever"];
      

      【讨论】:

      • 嗯,你有没有试过在推控制器之前设置标题?
      【解决方案3】:

      在你分配了你的 rootview 之后..use:-

      YourRootView *rootView=[YourRootView alloc]init];
      rootView.title=@"yourTitle";
      

      然后在 uinavigationcontroller 中对其进行初始化。(我不知道您是否在 storyboard 上有视图,然后在分配后设置其标题,然后将其作为参数传递给 navigationcontroller)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-31
        • 2011-04-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多