UIBarButton不会在我的UINavigationController中显示

UIBarButton won#39;t show in my UINavigationController(UIBarButton不会在我的UINavigationController中显示)

本文介绍了UIBarButton不会在我的UINavigationController中显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个带有导航栏和表视图的简单视图。所以我创建了UINavigationController的一个子类,并在其中添加了一个UITableView。我的IS也是UITableViewDataSourceUITableViewDelegate。现在我想在导航栏中添加UIBarButton,但它不起作用:

UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:[[Translator instance] getTranslation:@"Back"] 
                                                                  style:UIBarButtonItemStylePlain 
                                                                 target:self.parentViewController  
                                                                 action:@selector(dismissFiltersModal:)];          
self.navigationItem.backBarButtonItem = anotherButton;

没有错误地显示了视图,但没有显示按钮。我如何才能显示它?

推荐答案

jafar,

正如Apple文档建议您应避免子类UINavigationController

此类不用于子类化。

说到这里,你可以遵循这些简单的步骤(给你的一些建议):

  • 创建扩展UIViewController的控制器(比如MyController),并在此处添加表格。将您的控制器设置为该表的代理和数据源。如果您是由XIB创建的,则需要为您的表视图提供插座。

[P.S。您还可以子类化aUITableViewController,它有自己的表视图]

  • MyControllerviewDidLoad中自定义导航栏。

例如

UIBarButtonItem* myButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(someSelector)];
self.navigationItem.leftBarButtonItem = myButton;

您还可以自定义标题。

例如

self.title = @"Your custom title";
  • 在代码中的某个位置创建UINavigationController,并将MyController的实例添加为根视图控制器。

例如:

MyController* myCtr = // alloc-init here
UINavigationController* nc = [[UINavigationController alloc] initWithRootViewController:myCtr];

这篇关于UIBarButton不会在我的UINavigationController中显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:UIBarButton不会在我的UINavigationController中显示