cara membuka url di safari bukan di webview

Saya ingin membuka url di safari, di luar aplikasi dan bukan di tampilan web.

Saya telah mengimplementasikan UIWebViewDelegate namun saya masih belum bisa membuka url tersebut. Pada dasarnya saya tidak dapat mengklik url tersebut.

Di bawah ini adalah kodenya:

-(void)newView:(NSString *)title Description:(NSString *)desc URL:(NSString *)url{
    webView =[[UIWebView alloc]initWithFrame:CGRectMake(15, 17, 190, 190)];
    webView.backgroundColor=[UIColor clearColor];
    webView.delegate=self;
    webView.opaque = NO;
    [webView loadHTMLString:[NSString stringWithFormat:@"<html><body p style='color:white' text=\"#FFFFFF\" face=\"Bookman Old Style, Book Antiqua, Garamond\" size=\"5\">%@ %@</body></html>", desc,url] baseURL:nil];

    v = [[HUDView alloc] initWithFrame:CGRectMake(60, 70, 220, 220)];

    cancelButton = [UIButton buttonWithType:UIButtonTypeCustom];
    cancelButton.frame = CGRectMake(0, 0, 30, 30);
    [cancelButton setBackgroundImage:[UIImage imageNamed:@"closebox.png"] forState:UIControlStateNormal];
    [cancelButton addTarget:self action:@selector(cancelButtonPressed) forControlEvents:UIControlEventTouchUpInside];
    [v addSubview:cancelButton];
    [v addSubview:webView];
    [self.view addSubview:v];  
}

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

    return YES;
}

Jawaban ini sudah tersedia melalui Google:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.apple.com"]];

Letakkan saja di tombol tekan atau acara apa pun yang ingin Anda panggil, lalu berikan URL-nya (ganti dengan @"http:/www.apple.com").

Komentar (3)
Larutan

Setelah membaca komentar-komentar yang ada, saya rasa inilah yang Anda cari:

Terapkan metode ini:

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

dari UIWebViewDelegate dan tergantung pada argumen permintaan tersebut, Anda harus mengembalikan TRUE atau FALSE. Jika Anda tidak ingin tampilan web membukanya, Anda harus memanggilnya:

[[UIApplication sharedApplication] openURL:request.URL];

seperti yang disebutkan sebelumnya dan kembalikan FALSE.

Semoga ini membantu. Bersulang!

EDIT: Jika tautan tidak dikenali di tampilan web Anda, coba ini:

[webView setDataDetectorTypes:UIDataDetectorTypeLink]
Komentar (3)
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]];
Komentar (1)