阻止导航控制器导航并要求用户确认

时间:2011-06-12 00:22:58

标签: objective-c ios cocoa-touch uinavigationcontroller uitableview

我有UITableViewController使用didSelectRowAtIndexPath:使用initWithNibName:初始化视图控制器。用户可以返回到表视图,但我想执行if / else并显示警报视图以确认用户是否想要返回到表视图。我没有线索从哪里开始。

简而言之,我想自定义后退按钮。

2 个答案:

答案 0 :(得分:3)

您是否无法创建UIBarButtonItem实例并将其分配给视图控制器的导航项?像这样的东西,

UIBarButtonItem * backButton = [[[UIBarButtonItem alloc] initWithTitle:@"Back" 
                                                                 style:UIBarButtonItemStyleBordered
                                                                target:self
                                                                action:@selector(backButtonPressed:)] autorelease];
self.navigationItem.leftBarButtonItem = backButton;

然后在backButtonPressed:中触发警报视图。

- (void)backButtonPressed:(id)sender {
    // Trigger an alert view.
}

根据用户选择,您可以弹出视图控制器。

答案 1 :(得分:0)

返回用户的按钮是IBAction(或者是您以编程方式设置按钮时定义的方法),因此您可以将here中的代码添加到IBAction中并将代码放回在

- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex