2

私は iPhone アプリケーションで作業しています。Webview を使用して画面の下部に Addvertisement をロードし、正常に動作しています。ユーザーが WebView を選択すると、自動的にブラウザに移動して iPhone デバイスにロードされます。これを統合するにはどうすればよいですか? 私を助けてください

前もって感謝します

私はこれを試しました:

- (void)viewDidLoad
{

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 430, 320, 50)];
[webView setDelegate:self];
NSString *urlAddress = @"http://www.dasfafa./myadds.html";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
[self.view addSubview:webView];
}

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

    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
}

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    NSString *currentURL = self.AddvertiseWebView.request.URL.absoluteString;
    NSLog(@"currentURL:%@",currentURL);

}
4

1 に答える 1

4

ここでは、UIWebView でクリックしたときに Safari でリンクを開く方法を示すコードを示します。メソッド shouldStartLoadWithRequest は、リンクがクリックされたときに呼び出されるデリゲート メソッドです。メソッドをオーバーライドして、Safari で開くように指示できます。

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

    NSURL *requestURL = [ [ request URL ] retain ]; 
    // Check to see what protocol/scheme the requested URL is.
    if ( ( [ [ requestURL scheme ] isEqualToString: @"http" ] 
        || [ [ requestURL scheme ] isEqualToString: @"https" ] ) 
        && ( navigationType == UIWebViewNavigationTypeLinkClicked ) ) {
        return ![ [ UIApplication sharedApplication ] openURL: [ requestURL autorelease ] ]; 
    }
    // Auto release 
    [ requestURL release ];
    // If request url is something other than http or https it will open 
    // in UIWebView. You could also check for the other following 
    // protocols: tel, mailto and sms
    return YES;
}

またはこれを試してください

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
    if ( inType == UIWebViewNavigationTypeLinkClicked ) {
        [[UIApplication sharedApplication] openURL:[inRequest URL]];
        return NO;
    }

    return YES; }
于 2012-09-08T09:48:11.993 に答える