【问题标题】:Navigation Bar Back Button not working导航栏后退按钮不起作用
【发布时间】:2018-07-07 13:01:36
【问题描述】:

我正在尝试添加一个自定义后退按钮,以便在弹出控制器之前执行一些任务。但是无论我多么努力地尝试这个功能与后退按钮绑定都不起作用。我正在添加一些代码来理解

-(void)customizeNavigationBar
{
    self.navigationController.navigationBarHidden = NO;
    self.navigationItem.title = @"Video Call";

   UIBarButtonItem *backButton = [[UIBarButtonItem alloc] 
              initWithTitle:@" " style:UIBarButtonItemStylePlain 
              target:self action:@selector(didBackBtnTap)];
   [self.navigationItem setBackBarButtonItem:backButton];
}

这是函数,根本不调用,

-(void)didBackBtnTap
{
    [self popToProfileScreen];
}

请提出任何解决方案,提前致谢。

【问题讨论】:

  • setLeftBarButtonItem代替setBackBarButtonItem
  • 我希望它看起来像后退按钮,但用我的自定义功能覆盖它.. 我不想用它添加任何图标
  • 它在我的其他控制器中工作得很好,但不是在这里
  • 如果你想保留默认的后退按钮,这是另一个问题stackoverflow.com/questions/18824186/…
  • 好的,让我看看

标签: ios objective-c uinavigationcontroller navigation uinavigationbar


【解决方案1】:

使用leftbarbutton 项目而不是setBackBarButtonItem

self.navigationItem.leftBarButtonItem = backButton;

【讨论】:

  • 我希望它看起来像后退按钮,但用我的自定义功能覆盖它.. 我不想用它添加任何图标
【解决方案2】:

当您使用setLeftBarButtonItemsetBackBarButtonItem 时,它将在您推送到的视图控制器上生效,但不会在当前视图控制器上生效。所以需要直接设置当前的leftBarButtonItem

【讨论】:

    【解决方案3】:

    另一种选择是在 viewWillDisappear 中编写您的自定义代码。

    【讨论】:

    • 不,我不能用这种方法。
    • 这应该是评论,而不是答案。
    【解决方案4】:

    使用此代码

    UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
    backButton.frame = CGRectMake(0, 0, 15, 15);
    [backButton setImage:[UIImage imageNamed:@"backButtonImage"] forState:UIControlStateNormal];
    [backButton setTitle:@"Back" forState:UIControlStateNormal];
    backButton.imageEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0);
    [backButton addTarget:self action:@selector(backButtonPressed) forControlEvents:UIControlEventTouchUpInside];
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
    

    在 xcasstes 中添加一个类似于 NavigationBar 的后退按钮的图像(15*15,@1x @2x @3x)backButtonImage

    - (void)backButtonPressed {}
    

    【讨论】:

      猜你喜欢
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      相关资源
      最近更新 更多