0

我将 presentModalViewController 用于我的“信息”视图。我在 NavigationController 的顶部添加了一个信息按钮,当按下它时,我调用此方法

about *ab = [[about alloc] initWithNibName:@"about" bundle:[NSBundle mainBundle]];
ab.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController: ab animated: YES];
[ab release];

在我的信息页面中有一个 UIWebView,其中包含一些链接。使用它(并将 uiwebview 委托设置为 self)

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if (inType == UIWebViewNavigationTypeLinkClicked) {
    [[UIApplication sharedApplication] openURL:[inRequest URL]];
    return NO;
}

return YES;
}

如果用户触摸一个链接,该链接将通过 safari 打开。

有什么问题?如果你这样做,然后你返回到应用程序,你不在信息视图中,而是在主视图中......并且(这是问题)如果你触摸信息按钮,什么也没有发生!您无法再次打开信息视图!

为什么?

谢谢!

4

2 回答 2

0

尝试删除[ab release]. 那样有用吗?

于 2011-05-03T20:07:35.250 回答
0

不如不将信息视图控制器显示为模式,而是将其推送到导航控制器的堆栈上?应该有类似的效果,但是当您返回应用程序时,您仍然应该在信息屏幕上像这样而不是presentModalViewController:animated:调用:

[self.navigationController pushViewController: ab animated: YES];
于 2011-05-03T20:32:45.627 回答