UIWebView上的后退button
我想弄清楚如何创build一个后退button,允许用户返回一页。 我通过苹果公司的文档(这仍然是我的头),发现我需要设置canGoBack
和goBack
的。 我已经尝试过,但由于某种原因,它不工作。 我的UIWebView
被命名为viewWeb
,我创build并连接了一个sockets到我的后退button,名为backButton
,并将其标记为1.以下是我在View Controller中编写的代码:
// Back button: -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex == 1) { [_backButton addTarget:_viewWeb action:@selector(goBack) forControlEvents:UIControlEventTouchDown]; if ([_viewWeb canGoBack]) { NSLog(@"Back button pressed."); [_viewWeb goBack]; } } else return; }
有谁知道我需要改变/添加到这个工作?
actionSheet:clickedButtonAtIndex:
用于UIActionSheet
对象,而不是UIButton
操作。
你应该写一个看起来像这样的IBAction
方法:
- (IBAction)backButtonTapped:(id)sender { [_viewWeb goBack]; }
并将其连接到button的Touch Up Inside操作。
你可以searchIBAction
更多信息,但这可能是你想要的
我认为这应该是更具体的
- (IBAction)backButtonTapped:(id)sender { if ([_viewWeb canGoBack] ) { [_viewWeb goBack]; } }
我一直在努力得到一个工作代码这个函数写在迅速,最后这就是我想出了。
@IBOutlet weak var goBackBtn: UIBarButtonItem! @IBOutlet weak var goForwardBtn: UIBarButtonItem! @IBOutlet weak var itemWebView: UIWebView! override func viewDidLoad() { super.viewDidLoad() let url = NSURL (string: "www.google.com") let requestObj = NSURLRequest(URL: url) itemWebView.loadRequest(requestObj) itemWebView.delegate = self goBackBtn.enabled = false goForwardBtn.enabled = false } func webViewDidFinishLoad(webView: UIWebView) { goBackBtn.enabled = itemWebView.canGoBack goForwardBtn.enabled = itemWebView.canGoForward } @IBAction func forward(sender: AnyObject) { itemWebView.goForward() } @IBAction func back(sender: AnyObject) { itemWebView.goBack() }