我目前创建了一个webview,但我不想使用界面构建器来创建后退,前进和刷新按钮。如何以编程方式创建这些按钮?我知道如何使用代码创建常规按钮,但对于webView委托按钮,我很遗憾,并且无法在其上找到许多资源。
答案 0 :(得分:7)
来自UIWebView文档:
如果您允许用户在网页历史记录中前后移动,则可以使用goBack和goForward方法作为按钮操作。当用户无法朝某个方向移动时,请使用canGoBack和canGoForward属性禁用按钮。
然后设置按钮将使用addTarget:action:forControlEvents:
(由Sven指出):
[myBackButton addTarget:myWebView
action:@selector(goBack)
forControlEvents:UIControlEventTouchDown];
如果您希望根据canGoBack
和canGoForward
属性获得幻想并启用/停用按钮,则必须向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];
}