如何以编程方式为UIWebView创建后退,前进和刷新按钮?

时间:2010-09-03 20:34:23

标签: iphone xcode uiwebview

我目前创建了一个webview,但我不想使用界面构建器来创建后退,前进和刷新按钮。如何以编程方式创建这些按钮?我知道如何使用代码创建常规按钮,但对于webView委托按钮,我很遗憾,并且无法在其上找到许多资源。

4 个答案:

答案 0 :(得分:7)

来自UIWebView文档:

  

如果您允许用户在网页历史记录中前后移动,则可以使用goBackgoForward方法作为按钮操作。当用户无法朝某个方向移动时,请使用canGoBackcanGoForward属性禁用按钮。

然后设置按钮将使用addTarget:action:forControlEvents:(由Sven指出):

[myBackButton addTarget:myWebView
                 action:@selector(goBack)
       forControlEvents:UIControlEventTouchDown];

如果您希望根据canGoBackcanGoForward属性获得幻想并启用/停用按钮,则必须向UIController添加一些KVO通知。

答案 1 :(得分:1)

您需要使用addTarget:action:forControlEvents:为您的网络视图设置按钮的目标和操作。

答案 2 :(得分:0)

要启用/停用后退或前进按钮而不是KVO,我们可以使用以下“hack

- (void)webViewDidFinishLoad:(UIWebView *)webView
{

    if ([webView canGoBack])
        [backbutton setEnabled:YES];
    else
        [backbutton setEnabled:NO];

    if ([webView canGoForward])
        [fwdbutton setEnabled:YES];
    else
        [fwdbutton setEnabled:NO];
}

答案 3 :(得分:0)

启用或禁用按钮的更简单方法是:

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
   [backButton setEnabled:webView.canGoBack];
   [fwdButton setEnabled:webView.canGoForward];
}