我有一个显示网页webView的应用。网络包含一个包含大量子页面的主页面。当我在主页面上时,我希望导航“返回”按钮保持返回上一个视图控制器的默认行为。但是,当网页位于子页面上时,我希望导航“返回”按钮将网络带到主网页。
因此,当用户按下后退按钮时,我需要抓住,如果他在网页子页面上,则将他带到网页主页并阻止webView关闭。我想我可以使用viewWillDisappear()捕获后退按钮,但是如何阻止视图关闭?
答案 0 :(得分:0)
查看此帖:
Execute action when back bar button of UINavigationController is pressed
这样的事情应该在您的视图控制器代码中执行:
double
请注意,如果您需要“后退”图像或UIBarButtonItem(customView :),则可能必须使用UIBarButtonItem(image:,style:,target:,action :)。有关详细信息,请参阅此问题和答案:https://stackoverflow.com/a/36180934/892990
答案 1 :(得分:0)
与KickimusButticus的回答类似:
如果你想使用故事板等更容易地做到这一点,你可以将你的后退按钮连接到IBAction,如下所示:
@IBAction func back() {
}
并且对用户是否在webview的子页面中进行内部测试。如果是,你可以搞乱webview。如果它们位于主页上,您只需使用后退按钮即可转到主视图控制器,或使用self.dismissViewControllerAnimated(true, completion: nil)
关闭该视图控制器。