我在我的项目中使用FlatUIKit。我有一个定义如下的自定义后退按钮:
[UIBarButtonItem configureFlatButtonsWithColor:[UIColor peterRiverColor]
highlightedColor:[UIColor belizeHoleColor]
cornerRadius:3
whenContainedIn:[UINavigationBar class], nil];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStylePlain
target:self
action:@selector(clickBack)];
这是我的clickBack
-(void)clickBack{
[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-1] animated:YES];
}
按钮显示为我想要的但是就是这样。如果我点击它,没有任何反应。
知道我做错了什么吗?我对此很陌生,从不更换后退按钮。
答案 0 :(得分:2)
您刚刚在一条评论中提到,您以模态方式呈现了视图控制器,这是不同的。您将要释放模态视图控制器。试试这个:
[self dismissModalViewControllerAnimated:YES];
只有将要发布的视图推送到导航控制器上时,pop方法才会起作用。
这是一个指向模态视图控制器示例的链接。
http://timneill.net/2010/09/modal-view-controller-example-part-1/
答案 1 :(得分:1)
在clickBack方法中使用此代码
[self.navigationController popViewControllerAnimated:YES];
答案 2 :(得分:0)
[UIBarButtonItem configureFlatButtonsWithColor:[UIColor peterRiverColor]
highlightedColor:[UIColor belizeHoleColor]
cornerRadius:3
whenContainedIn:[UINavigationBar class], nil];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back"
style:UIBarButtonItemStylePlain
target:self
action:@selector(clickBack)];
-(void)clickBack
{
[self.navigationController popToRootViewControllerAnimated:YES];
}
按原样复制并粘贴此代码。