【问题标题】: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) 并尝试一下。

标签: ios uinavigationitem


【解决方案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)。因此,当该方法使用它时,它会释放它,净增加为零。否则,您正在创建内存泄漏。 …现在上面的行可能会对引用计数做一些事情,但它不知道。引用计数的其他作用与此方法无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 2014-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
相关资源
最近更新 更多