微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NavBar后退按钮行为

如何解决NavBar后退按钮行为

| 我有一个带有导航控制器的应用程序。启动该应用程序后,将加载一个表格视图,单击一行,将打开一个加载页面的Web视图(我们将其称为page1)。 Page1可能包含链接用户单击链接就会加载新页面(第2页)。然后,用户要返回到第1页,然后单击导航栏中的“后退”按钮。单击“后退”按钮会将其带到表格视图,而不是page1。 如何更改该行为或拦截后退按钮?     

解决方法

UIWebView具有属性\'goBack \'和\'goForward \' 我建议您创建一个单独的按钮来回浏览。 对这些按钮执行以下操作。 (void)actionBackButtonPressed { [myWebView goBack]; } -(void)actionForwardButtonAction {
[myWebView goForward];
}     ,您需要使用其他方法提到的委托方法和自定义UI自己管理UIWebView导航。要重新回答您的问题:导航项上的“后退”按钮不能覆盖默认的“后退”按钮行为,但是可以使用以下命令将自己的按钮放置在navigationItem中(通常在
viewDidLoad
中):
UIBarButtonItem *myBackButton = [[UIBarButtonItem alloc] initWith...
self.navigationItem.leftBarButtonItem = myBackButton;
[myBackButton release];
您可以选择最适合app4ѭ的
init...
方法。如果愿意,可以将此按钮与Web视图结合使用,但是恕我直言,将UIWebView的导航范例与UINavigationController的导航范例混合会很奇怪。但是,这是您的应用程序,因此仅尝试添加到您的工具箱中。 还请注意,无法创建类似于标准后退按钮的UIBarButtonItem。如果要使用锥形的“后退箭头”样式,则必须提供自己的按钮图像。     ,我们有
UIWebViewDelegate
方法来跟踪webView中的内容加载。因此,当用户点击第1页上的任何链接时。您应该使用
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
方法。在此方法中,只需再创建一个新的
viewController
(与第1页相同),然后将newController推入
loadRequest
即可。 谢谢,     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。