使用HTML页面上的按钮来调用xcode IBAction

Ste*_*tin 3 html iphone xcode uiwebview ibaction

这看起来很奇怪.甚至不确定它是否可能!!

我有一个UIWebView加载本地html页面.在这个html页面上,我有一个按钮.

我想点击按钮,然后在Xcode中调用IBAction.

我该怎么做?或者你甚至可以这样做???

多谢你们,

斯特凡.

pgb*_*pgb 8

您可以使用自定义协议来完成此操作.在你的html文件中,你可以链接到类似的东西myProtocol://callSomeAction.

然后在你的UIWebViewDelegate(可能你的UIViewController)你必须实现名为的方法:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
Run Code Online (Sandbox Code Playgroud)

(文件在这里)

我们的想法是,在该代码上,您可以根据request参数中的数据检测协议.如果是myProtocol,您可以致电IBAction并返回NO.如果它是其他东西,那么您可以回退以使Web视图加载页面,然后返回YES.

代码看起来像这样:

- (BOOL)webView:(UIWebView *)webView
    shouldStartLoadWithRequest:(NSURLRequest *)request 
    navigationType:(UIWebViewNavigationType)navigationType {

    NSString* scheme = [[request URL] scheme];
    if ([@"myProtocol" isEqual:scheme]) {
        // Call your method
        return NO;
    } else {
        return YES;
    }
}
Run Code Online (Sandbox Code Playgroud)