2013-05-23 3 views
9

Я пытаюсь выяснить, как создать кнопку «Назад», которая позволяет пользователю вернуться на одну страницу. Я прочитал «Документы Apple» (которые все еще проходят над моей головой) и выяснил, что мне нужно настроить canGoBack и goBack. Я пробовал это, но по какой-то причине он не работает. Мой UIWebView назван viewWeb, и я создал и прикрепил выход к моей кнопке Назад, названный backButton, а также помечать его как 1. Вот мой код, который я написал в View Controller:Back Button on UIWebView

// 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; 
} 

Кто-нибудь знает, что мне нужно изменить/добавить, чтобы это работало?

ответ

23

actionSheet:clickedButtonAtIndex: предназначено для UIActionSheet объектов, не UIButton действий.

Вы, вероятно, следует написать IBAction метод, который выглядит примерно так:

- (IBAction)backButtonTapped:(id)sender { 
    [_viewWeb goBack]; 
} 

и подключить его к Touch Up Inside действия с помощью кнопки.

Вы можете найти больше информации о IBAction, но это, вероятно, что вы хотите

+0

Это сработало! Большое спасибо, у меня было ощущение, что это просто простой вызов «IBAction». Большое спасибо! – John

+1

Большое вам спасибо за помощь – Esha

0

Я думаю, что это должно быть более конкретным, как этот

- (IBAction)backButtonTapped:(id)sender { 
    if ([_viewWeb canGoBack]) { 
     [_viewWeb goBack]; 
    } 
} 
0

Я изо всех сил, чтобы получить рабочий код для этой функции, написанной в быстром и, наконец, вот что я придумал.

@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() 
}