Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS后退按钮标题未更改_Ios_Objective C_Uiviewcontroller_Uinavigationcontroller_Back Button - Fatal编程技术网

iOS后退按钮标题未更改

iOS后退按钮标题未更改,ios,objective-c,uiviewcontroller,uinavigationcontroller,back-button,Ios,Objective C,Uiviewcontroller,Uinavigationcontroller,Back Button,我对UINavigationController中的“后退”按钮有问题 我有一个根视图控制器,其方法实现如下: - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"NEW BACK" style:UIBarButtonItem

我对UINavigationController中的“后退”按钮有问题

我有一个根视图控制器,其方法实现如下:

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

    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"NEW BACK" style:UIBarButtonItemStylePlain target:nil action:nil];
}
尽管有这段代码,我的后退按钮标题仍然是我的根视图控制器的标题,而不是新的后退


有人看到问题出在哪里了吗?

隐藏默认的后退按钮,然后通过编程添加按钮。在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中的后退按钮。希望你的代码能正常工作。

据苹果公司称,这应该在根视图控制器中——推送另一个的人……如果你有链接,你能给我看一下那个文档吗。也试试我的答案