簡體   English   中英

iOS后退按鈕標題未更改

[英]iOS Back button title is not changing

我在UINavigationController “返回”按鈕有問題

我有一個根視圖控制器,其實現方式如下:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"NEW BACK" style:UIBarButtonItemStylePlain target:nil action:nil];
}

盡管有此代碼,但后退按鈕標題仍是我的根視圖控制器的標題,而不是“ NEW BACK”

有人看到問題出在哪里嗎?

隱藏默認的后退按鈕,然后以編程方式添加按鈕。 將代碼添加到您的viewDidLoad中。

self.navigationItem.hidesBackButton = YES;

UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];

        [backButton setBackgroundImage:[UIImage imageNamed:@"arrowleft.png"] forState:UIControlStateNormal];
        [backButton addTarget:self action:@selector(btnBackTapped:) forControlEvents:UIControlEventTouchUpInside];
        backButton.frame = CGRectMake(0.0f, 0.0f, 25.0f, 20.0f);
        UIBarButtonItem *backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];

        self.navigationItem.leftBarButtonItem = backButtonItem;

btnBackTapped

同一類中任何地方的方法

-(void)btnBackTapped:(id)sender 
{
   [self.navigationController popViewControllerAnimated:YES];
}

而不是這樣做

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"NEW BACK" style:UIBarButtonItemStylePlain target:nil action:nil];

RootViewController ,在子視圖控制器中執行此操作意味着您要推送的控制器。

如果設置了導航控制器的后退按鈕,則它將被應用到所有其他viewController中,盡管viewController具有自己的后退按鈕配置。 嘗試重置您的navigationController中的后退按鈕。 希望您的代碼能正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM