我有一个基于导航的应用程序,因此所有视图默认都有一个顶部导航栏。我已经到达一个页面,无论出于何种原因,默认情况下都不显示后退按钮,我需要以编程方式添加一个。不幸的是,后退按钮并没有按预期关闭模态视图。
我通过以下方式加载有问题的视图:
-(IBAction) linkPress:(id)sender
{
potentialUrl = [[NSURL alloc] initWithString:((Button*)sender).emailContent];
webViewInst = [[WebView alloc] initWithNibName:@"WebView" bundle:nil url:potentialUrl];
NSString *deviceType = [UIDevice currentDevice].model;
if([deviceType isEqualToString:@"iPad"] || [deviceType isEqualToString:@"iPad Simulator"]){
[self presentModalViewController:webViewInst animated:YES];
}
else {
[self.navigationController pushViewController:webViewInst animated:YES];
}
}
我通过以下方式添加后退按钮:
UIBarButtonItem *MKbackBtn = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:self action:@selector(backButton:)];
[self.navigationItem setLeftBarButtonItem:MKbackBtn];
以及后退按钮应采取的删除视图并返回上一个视图的操作:
-(IBAction)backButton:(id)sender
{
UIViewController* parent = [self parentViewController];
if(parent==nil) {
parent = [self presentingViewController];
}
[parent dismissModalViewControllerAnimated:YES];
}
如果另一双眼睛可以检查这些代码并尝试辨别我犯了什么错误,那将不胜感激!我也非常愿意提供更多信息/代码。
谢谢!