Web View Nesnesi

Uygulamamızın içerisinde bir web sayfası göstermek istiyorsak yada daha kullanışlı şekli ile ifade edeyim, ben x-code ile falan uğraşamam. Kullanıcı Apple-Storeden uygulamamı indirsin ancak benim uygulama sadece web uygulamı gösteren basit bir browser olsun diyorsanız kullanacağınız bir nesene. Kullanımı da gayet basit.

    UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320 , 400)];
    [self.view addSubview:web];    
    NSString *str = @"http://www.gencsiviller.net";
    NSURL *url = [NSURL URLWithString:str];
    NSURLRequest *req = [NSURLRequest requestWithURL:url];   
    [web loadRequest:req];

Site yüklenirken kullanıcıya gösterilecek bir loading yükleyelim. Bunun için UIActivityIndicatorView sınıfını kullanıyoruz.

    loadling = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(320/2, 480/2, 60, 60)]; 
    [self.view addSubview:loadling];

Web View’in webViewDidStartLoad ve webViewDidFinishLoad delegatelerini kullanalım.

- (void)webViewDidStartLoad:(UIWebView *)webView{
    [loadling startAnimating];
    NSLog(@"basladi");
}
- (void)webViewDidFinishLoad:(UIWebView *)webView{
        [loadling stopAnimating];
    NSLog(@"bitti");
}

Kendi elimizdeki bir HTML kodunu webviewde göstermek istersek ;

    [web loadHTMLString:@"<html>..." baseURL:nil];

Eğer web sayfamızdaki herbir refresh’i yakalamak istiyorsak shouldStartLoadWithRequest delegatini kullanırız. Ancak sayfa içerisindeki javascript refreshlerini yakalayamayacaktır. Bu nedenle Ajax kullanılan sayfalar içinde kullanılması sağlıklı olmayacaktır.