如何修改iPhone上默认“返回”按钮的目标?

12 浏览
0 Comments

如何修改iPhone上默认“返回”按钮的目标?

我想要使用默认的返回按钮样式,但这会导致我的程序在某个时候进入循环。

这是修改返回按钮文本的代码,写在视图初始化之前。

UIBarButtonItem *newBackButton = [[UIBarButtonItem alloc] initWithTitle: @"返回" style: UIBarButtonItemStyleBordered target: nil action: nil];
[[self navigationItem] setBackBarButtonItem: newBackButton];
[newBackButton release];

我能否将目标也更改为另一个视图?我真的需要那个默认样式,但我不知道其他方法来获得它。谢谢!

0
0 Comments

在iPhone上,如何修改默认返回按钮的目标?

有一个解决方案可以修改iPhone上默认返回按钮的目标。关键的思路是子类化UINavigationController并重写popViewControllerAnimated:方法。首先将自定义代码粘贴进去,然后在最后调用[super popViewControllerAnimated:animated]。

我已经验证了这个解决方案在SDK 4.3中仍然可以正常工作。

0
0 Comments

导航控制器的默认返回按钮无法直接修改,需要创建一个带有图像的自定义UIBarButtonItem。

下面是解决方法:

1. 创建一个自定义的UIBarButtonItem,可以通过以下代码实现:

UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];

[backButton setImage:[UIImage imageNamed:@"backButtonImage"] forState:UIControlStateNormal];

[backButton addTarget:self action:@selector(backButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *customBackButton = [[UIBarButtonItem alloc] initWithCustomView:backButton];

2. 在上述代码中,backButtonImage是自定义的返回按钮图像,backButtonPressed:是返回按钮的点击事件处理方法。

3. 在点击事件处理方法中,可以使用以下代码来执行返回操作:

- (void)backButtonPressed:(UIButton *)sender {

[self.navigationController popViewControllerAnimated:YES];

}

4. 最后,将自定义的UIBarButtonItem设置为导航控制器的左侧按钮,可以使用以下代码实现:

self.navigationItem.leftBarButtonItem = customBackButton;

通过以上步骤,我们可以成功地将导航控制器的默认返回按钮替换为自定义的图像按钮,并实现返回操作。

0
0 Comments

如何修改iPhone上默认返回按钮的目标?

问题原因:通过设置父视图控制器上的backBarButtonItem来自定义导航控制器上的右按钮。

解决方法:

1. 找到要返回的父视图控制器。

2. 在父视图控制器的代码中添加以下代码:

parentViewController.navigationItem.backBarButtonItem =
    [[[UIBarButtonItem alloc] initWithTitle:@"Back"
                                      style:UIBarButtonItemStyleBordered
                                     target:nil action:nil] autorelease];

0