导航栏上没有后退按钮

Posted

技术标签:

【中文标题】导航栏上没有后退按钮【英文标题】:Back button not made on navigation bar 【发布时间】:2011-08-03 04:28:55 【问题描述】:

我从一个基于导航的项目开始,并将进一步的视图推送到控制器上。问题是,如果我不给导航项命名,那么后退按钮就不会被绘制!只有我给导航栏一个标题,后退按钮才会出现。在 NO 标题的情况下,苹果似乎不能写“返回”或“返回”。我不想给导航项一个标题(我将在我的视图中使用一个标签)。那么我该如何解决呢?

- (void)viewDidLoad 
[super viewDidLoad];
self.navigationItem.title = @"Home"; /// <- without setting the title, the back button won't show !

在视图didLoad方法中,如果我删除标题,后退按钮将不会显示

【问题讨论】:

我们可以看一些代码吗?请问好看吗?另外,请随意选择用户名并稍等片刻。 当然...我添加了一些代码。但不要认为会很有用。访问我的 repo (github.com/aakash272/pagingScroll) 并尝试一下。 【参考方案1】:

只需自己创建后退按钮:

- (void)viewDidLoad

    [super viewDidLoad];

    UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                             style:UIBarButtonItemStylePlain
                                                            target:nil
                                                            action:nil];
    [[self navigationItem] setBackBarButtonItem:back];
    [back release];

(如果您更喜欢点符号,self.navigationItem.backBarButtonItem = back;

【讨论】:

我是 Objective-c 的新手,我看过很多次但我不明白为什么你在创建后立即调用 release on back 按钮?据我了解,release 将引用计数减少了 1.... 它确实减少了引用计数。这个方法创建了它(它将引用计数设置为 1)。因此,当该方法使用它时,它会释放它,净增加为零。否则,您正在创建内存泄漏。 …现在上面的行可能会对引用计数做一些事情,但它不知道。引用计数的其他作用与此方法无关。

以上是关于导航栏上没有后退按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何在swift 4中的导航栏上添加图像后退按钮

需要更改ipad导航栏上的后退按钮名称

导航栏上的后退按钮故障/错误

自定义后退按钮图像在导航栏上不起作用

导航栏上的自定义后退按钮不起作用

有没有办法在导航栏后退按钮上自定义辅助功能标签?