我有一个我不明白的奇怪问题,因此不知道从哪里开始调试。
首先,要求
我有一个 UISplitView。主视图包含一个将不同视图加载到详细视图中的表。对于一个表格单元格,我想要一个全屏加载的网站。因此,我没有隐藏主视图并调整细节视图的大小,而是展示了一个视图控制器。我有这个问题。
编码
以下是我目前拥有的代码 - 大大简化以避免混乱
-- MASTER VIEW --
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
ProjectWebViewController *detailView=[[ProjectWebViewController alloc] init];
UIViewController *localdetailViewController = detailView;
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:localdetailViewController];
[self presentViewController:navController animated:YES completion:nil];
}
然后我在呈现的视图控制器中有以下内容
-- PRESENTED VIEW CONTROLLER --
- (void)viewDidLoad
{
[super viewDidLoad];
UIWebView * webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
[[self view] addSubview:webView];
UIBarButtonItem *backBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:@selector(closeSelf)];
[[self navigationItem] setLeftBarButtonItem:backBtn];
}
-(void)closeSelf
{
[[self navigationController] dismissViewControllerAnimated:YES completion:nil];
}
问题
上述工作很好,但有一个例外。我添加到导航栏的后退按钮在单击时没有任何作用。但是,如果我单击已加载网页上的任何空白区域,则后退按钮将起作用。我已经测试过很多次了。即使我单击一些空白区域然后单击网页上的链接,后退按钮也会再次停止工作,直到在当前网页上单击更多空白区域。
谁能指出我正确的方向?
谢谢