Press ESC to close

Swift Web View Kullanımı

Bazen projelerinizde web sayfalarını direk uygulamanın içinde göstermek istersiniz. Yani bir tarayıcı açıp onun içinden göstermek yerine uygulamanın içinden göstermek daha kullanıcı dostu olabilir. Bunun için ilk olarak storyboard uzantılı tasarım dosyanızın içerisine bir Web View atamanız gerekmekte. Çünkü bir web sayfasını uygulamanın içinde göstermenin en mantıklı yolu budur. Xamarin kullanırken de benzer işlemleri yapıyorduk. Tasarım kısmını hallettikten sonra yani bir Web View ekledikten sonra bu Web View’i outlet olarak almamız gerekiyor. Bundan sonrası için ise 3 satır kod yazacağız. Burada ilk olarak göstereceğimiz adresi belirtmemiz gerekiyor. Bu adresi bir değişkene atıyorum. Bu değişkenin türü neden let tipinde diye soracak olursanız daha önce ki yazılarım da mevcut. Kısa bir özet geçmek gerekirse daha az yer kapladığı için let tipini seçtim. Adresi belirttikte sonra siteye bir bağlantı talebi göndermem gerekiyor. Bu talebin içerisine de adresimizi atamamız gerekiyor. Bir talebde oluşturduktan sonra bunları Web View’imizin içerisine atmak kalıyor. Bunu da loadRequest fonksiyonu ile gerçekleştiriyoruz.

let adres = URL(string: "https://sezeromer.com")
        let talep = URLRequest(url: adres!)
        
        WebView1.loadRequest(talep)

Aslında bir Web View kullanmak bu kadar basit lakin şimdi izin verme kısmı kaldı geriye. Neye izin veriyoruz diye soracak olursanız ise; internet erişimi sağlayıp bir siteye bağlanmak içi izin almamız gerekiyor. İzin verme işlemlerini info.plist dosyası üzerinden yapıyoruz. Supported interface orientations seçeneğinin yanında bulunan artı butonuna tıklayıp App Transport Securtiy Settings seçeneğini aktif hale getirmemiz gerekiyor. Sonrasında bu aktif hale getirdiğimiz seçeneğin ise yine yanında ki artı butonuna tıklayarak Allow Arbitary Loads seçeneğini ekleyeceğiz. Ekledikten sonra bu seçeneğin yanında ki değere YES yapıyoruz. İşlemlerimiz bu kadar.

Aklınıza takılan bir soru olursa yorum veya mail atarak bana ulaşabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir