Cry*_*tal 19 iphone uinavigationbar uibarbuttonitem ios
我放弃了在UINavigationBar
中UIInterfaceBuilder
.我以模态方式呈现此视图,只想UIBackBarButton
返回到我的上一个视图.我有一个出口和财产UINavigationBar
声明.我想在我的viewDidLoad
方法中,我可以创建一个UIBackButton
这样的:
UIBarButtonItem *backButton =
[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonItemStyleBordered
target:self
action:@selector(goBack)];
self.navigationItem.backBarButtonItem = backButton;
[backButton release];
Run Code Online (Sandbox Code Playgroud)
但我没有看到我UIBackBarButtonItem
的UINavigationBar
.我想我在这里做错了,因为我不认为我UINavigationBar
知道我试图以UIBackBarButtonItem
这种方式添加它.我是否必须创建一个NSArray
,将按钮放入其中,并为NavigationBar设置setItems?
我对navigationItem属性如何工作UINavigationBar
以及对setItems感到困惑.任何帮助,将不胜感激.谢谢!
Suh*_*tel 16
您正尝试在模式视图中设置后退按钮项,该视图不添加backBarButtonItem.这导致按钮(或任何类型的后退按钮)不显示.backBarButtonItem主要用于推送视图控制器,当您按下新视图控制器(顶部项目)时,它会从父节点(下面的下一项)添加后退按钮.在苹果UINavigationItem文档说:
当此项目是导航栏的后退项目时 - 当它是顶部项目下方的下一个项目时 - 它可以表示为导航栏上的后退按钮.使用此属性指定后退按钮.您设置的后栏按钮项目的目标和操作应为零.默认值是显示导航项标题的条形按钮项.
要按照您的意愿获得左侧的后退按钮,请尝试更改
self.navigationItem.backBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)
至
self.navigationItem.leftBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)
Rah*_*rma 12
从视图控制器进行这样的调用
{
NextViewController* vcRootView = [[NextViewController alloc] initWithNibName:@"NextView" bundle:[NSBundle mainBundle]];
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:vcRootView];
[vcRootView release];
[self.navigationController presentModalViewController:navController animated:YES];
[navController release];
}
Run Code Online (Sandbox Code Playgroud)
将在调用视图上显示NextViewController作为Modal视图,NextViewController将为它提供一个navigationController.
在NextViewController实现文件中,您只需要这个
- (void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem* backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self
action:@selector(barButtonBackPressed:)];
self.navigationItem.leftBarButtonItem = backButton;
[backButton release];
}
-(void)barButtonBackPressed:(id)sender{
[self dismissModalViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)
使用后退按钮来关闭模态视图.希望能帮助到你.
使用下面的代码段:
//Add button to NavigationController
UIBarButtonItem *backButton =
[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@“back”, @"")
style:UIBarButtonItemStylePlain
target:self
action:@selector(goBack)];
self.navigationItem.leftBarButtonItem = backButton;
//Perform action on back Button
- (void) goBack { // Go back task over-here
}
Run Code Online (Sandbox Code Playgroud)
可用的不同风格类型有:
UIBarButtonItemStylePlain, UIBarButtonItemStyleBordered, UIBarButtonItemStyleDone
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
41966 次 |
最近记录: |