2011-01-20 36 views
3

我有一个UIWebView,显示了几个屏幕变成一个UINavigationController:内部使用URL方案有一个UIWebView来改变一个UILabel

First View > Second View > View with UIWebView + UILabel 

现在,我显示该网页浏览某个网页,其中有一个链接回我的应用程序....

myapp://foofoo 

我知道你可以建立与(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url自定义URL和一些Info.plist中乱抓,但如何将改变的UILabel,这是一个同屏幕作为UIWebView,只需点击myapp:// foofoo链接?

回答

4

要做到这一点是通过自定义链接,然后使用UIWebView的委托方法-webView的最佳方式:shouldStartLoadWithRequest:navigationType:陷阱请求。当你看到有链接的请求时,你知道你的动作已经触发。

UIWebView Expose Objective C to JavaScript

4
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    NSLog(@"scheme = %@",[[request URL] scheme]); 

    if([[[request URL] scheme]isEqualToString:@"myscheme"]) 
    { 
     [messageLabel setText:@"HELLO!"]; 
     return NO; 
    } 
    else return YES; 
} 

确保您的视图控制器符合UIWebViewDelegate协议这个工作。