iOS:自定义后退按钮不起作用

时间:2013-09-05 13:09:07

标签: ios objective-c

我在我的项目中使用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];

}

按钮显示为我想要的但是就是这样。如果我点击它,没有任何反应。

知道我做错了什么吗?我对此很陌生,从不更换后退按钮。

3 个答案:

答案 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];

}

按原样复制并粘贴此代码。