这是我的代码,用于删除导航栏的后UIBarButtonItem并将其替换为取消按钮:
UIBarButtonItem *cancelButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.hidesBackButton = YES;
self.navigationItem.leftBarButtonItem = cancelButtonItem;
我在网上看到的每个例子都没有在用自定义项替换之前隐藏backButton。我可能错了,但它似乎只是一行不必要的代码。
答案 0 :(得分:1)
您是否尝试以UIBarButtonSystemItemCancel
的格式使用UIBarButtonItemStylePlain
代替UIBarButtonItem
?
试试这个,
UIBarButtonItem* cancelButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelAction)];
self.navigationItem.leftBarButtonItem = cancelButton;
此外,如果您在self.navigationItem.backBarButtonItem
中使用了parentViewController
,则默认情况下,如果未正确添加childViewController中的自定义leftBarButton,它将在childViewController的leftBarButtonItem中显示该按钮。
答案 1 :(得分:0)
试试这个。 在您的应用程序中写下这个代表确实完成了启动。
LoginViewController *loginVc = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:loginVc];
self.window.rootViewController = self.navigationController;
self.navigationController.navigationBarHidden =YES;
// and use uibutton in your view controller at place of back button or cancel button
// and u can push or pop your view from there.