Ali*_*fai 147 iphone uinavigationcontroller ios
默认情况下,"后退按钮"显示堆栈中最后一个视图的标题,是否有办法在后退按钮中使用自定义文本?
rei*_*ein 340
从这个链接:
self.navigationItem.backBarButtonItem =
[[UIBarButtonItem alloc] initWithTitle:@"Custom Title"
style:UIBarButtonItemStylePlain
target:nil
action:nil];
Run Code Online (Sandbox Code Playgroud)
正如泰勒在评论中所说:
不要在可见视图控制器中执行此操作,而是在视图控制器中执行此操作,如果您单击后退按钮
Pet*_*ler 43
您可以在Interface Builder中设置文本:
选择后退按钮将返回的ViewController的导航项:

在实用工具面板属性检查器中,输入后退按钮的标签:

我更喜欢这种方法而不是在接受的答案中设置代码中的标题.
另请注意,您需要在视图控制器的一层上方执行此操作.换句话说,不要在可见视图控制器中执行此操作,而是在视图控制器中执行此操作,如果您单击后退按钮.
--Tyler
小智 22
我用这个:
// In the current view controller, not the one that is one level up in the stack
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationController.navigationBar.backItem.title = @"Custom text";
}
Run Code Online (Sandbox Code Playgroud)
Aub*_*man 11
我通过在将另一个控制器推入堆栈之前简单地设置控制器的标题找到了一个方便的解决方案,如下所示:
self.navigationItem.title = @"Replacement Title";
[self.navigationController pushViewController:newCtrl animated:YES];
Run Code Online (Sandbox Code Playgroud)
然后,确保将原始标题设置为viewWillAppear,如下所示:
-(void)viewWillAppear:(BOOL)animated
{
...
self.navigationItem.title = @"Original Title";
...
}
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为UINavigationController在推送操作期间构造后退按钮时的默认行为是使用前一个控制器的标题.
后退按钮的标题默认为上一个视图的标题,因此我使用的一个快速技巧是将以下代码放在上一个视图的.m文件中.
-(void)viewWillAppear:(BOOL)animated {
// Set title
self.navigationItem.title=@"Original Title";
}
-(void)viewWillDisappear:(BOOL)animated {
// Set title
self.navigationItem.title=@"Back";
}
Run Code Online (Sandbox Code Playgroud)
在init方法中,添加以下代码:
- (id)initWithStyle:(UITableViewStyle)style {
if(self = [super init]) {
//...
UIBarButtonItem *customBackButton = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStylePlain
target:self
action:@selector(goBack)];
self.navigationItem.leftBarButtonItem = customBackButton;
[customBackButton release];
//...
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
然后添加一个简单的方法,以允许viewcontroller解雇:
-(void)goBack {
[self.navigationController popViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
96816 次 |
| 最近记录: |