Merhaba Arkadaşlar,
mobilhanem.com sitemiz üzerinden anlattığımız derslerimize IOS’ta UIWebView Kullanımı ile devam edeceğiz. UIWebView adı üzerinde web sitelerini yada herhangi bir linki uygulama içinde açmaya yarayan bir yapıdır. Aslında daha basit anlatmak gerekirse uygulama içi browser diyebiliriz.
Açmaya çalıştığımız site veya link eğer responsive bir yapıya sahipse çok güzel sonuşlar elde ederiz. Responsive değilse site otomatik olarak ekran boyutlarına küçülecektir. Zoom in ve zoom out kullanarak sitemizi büyüterek kullanabiliriz. Zaten bu bahsettiğim mobil browserlarda da aynı şekilde .
[wpdm_file id=24]
Gelelim kodlara.Xcode->File->New Project->Single View Application dedikten sonra karşımıza şöyle bir ekran gelecek.
Gerekli alanları doldurduktan sonra Next ve Create diyoruz. Projemiz sorunsuz oluştuktan sonra karşımıza çıkacak ekran şu şekilde olacak.
Sol tarafta Project Explorer kısmından Main.storyboard ı seçiyoruz. Açılan sayfada gelen boş ekranımızın üstüne sol taraftaki bölümden Web View’i sürükleyip bırakıyoruz.
Bundan sonraki işlemleri Objective-c claslarımız olan ve otomatik oluşan ViewController.h ve ViewController.m dosyalarımızda yapacağız.
ViewController.h
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIWebViewDelegate> //UIWebViewDelagate 'e extend ediyoruz. @property (weak, nonatomic) IBOutlet UIWebView *WebView;//WebView Referansımızı oluşturuyoruz. @end
Evet arkadaşlar bundan sonra storyboard’da küçük bir kaç işimiz daha kalıyor.Oluşturduğumuz webView’i referansımıza bağlamak ve Class’ımızı seçmek.
Aşağıdaki ekranda daha iyi anlayacaksınız.
Sürükleyip bıraktığımız WebView üstüne gelip sağ tıklıyoruz ve Referencing Outlets kısmını şekildeki gibi tutup sarı kısmın(view controller) üstüne bırakıyoruz.Orda oluşturduğumuz WebView referansını seçiyoruz. Bundan sonra o sarı kısma(view controller) tıklayıp sol üstte açılan menüde Class kısmını ViewController olarak seçiyoruz.
Bundan sonraki işlemlerimizi ViewController.m de yapıyoruz.
ViewController.m
#import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize WebView; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [WebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.mobilhanem.com"]]]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(void)webViewDidStartLoad:(UIWebView *)webView{//Webview yüklenmeye başladığı an çalışır activityView=[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; activityView.center=self.view.center; activityView.color =[UIColor blackColor]; [activityView startAnimating]; [self.view addSubview:activityView]; } -(void)webViewDidFinishLoad:(UIWebView *)webView{//Webview yüklendiği zaman çalışır [activityView stopAnimating]; } -(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{//Webview yüklenemediği zaman çalışır } @end
Evet arkadaşlar kod üzerinde açıklama yapmaya çalıştım. Kaynak kodu indirip inceleyebilirsiniz.
Destek için facebook.com/mobilhanem sayfamızı beğenirseniz sevinirim. Bundaki sonraki İos dersimde İos a Admob Reklam eklemek olabilir. O güne kadar kendinize iyi bakın.
[wpdm_file id=24] 15
Emeğiniz dert görmesin hocam, açıkçası hiç kullanmayı bilmiyorum ama basit bir mobil uyumlu nöbetçi eczane sitem var ve bu siteyi cebimde aplication olrak kullanmak istiyorum. Bu anlatım ile benim gibi bir amatör istediğini yaparmı ?
Evet yapar. Tam olarak işinizi görür. Ancak bunu uygulama haline getiririp AppStore’a atmak istediğinizde farklı geliştirmeler yapmanız gerekecektir.
Merhabalar,
Ne gibi geliştirmeler yapmamız gerekmekte?
Hocam Merhabalar;
bu uygulamayı xcode ile açıtığımızda activityView yazan yerlerde hata veriyor. Neden olabilir Acaba
Emeğinize sağlık. bu uygulamayı yazdıktan sonra simülatörde çalıştırmak istiyoruz fakat Thread 1 Breakpoint 1.1 Hatasıyla Karşılaşıyoruz sorun ne olabilir sizce
Ben uygulamayı şimdi çalıştırdım bir sorun yok. Sizdede büyük ihtimal bir sorun yok uygulamada break point eklemişsiniz XCode ile . Hata verdiği satırın basındaki break pointi kaldırın. Yanlız ben bu uygulamayı yazdıktan sonra ios yeni sürümlerde “http” olan linkleri actırmak için bir kac ayar yapmamızı istiyor. “https” olan linklerde sorun yok ama actıracağınız link http ise bu ipucumu inceleyiniz:
http://www.mobilhanem.com/transport-security-has-blocked-a-cleartext-http-hatasi/
Hocam main.m break point kaldırdığım halde return ile başlayan satırda Thread:1 signal SIGABRT diye hata veriyor.
ben break pointi işlemini yanlış mı yapıyorum acaba
#import
#import “AppDelegate.h”
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
Hocam ios9.3 için yapmak istiyorum ve ActivityView kodlarının hepsinde hata veriyor. Ve basit bir site için mobil app yapıp appstore’a koyamaz mıyım?
@interface ViewController : UIViewController{
UIActivityIndicatorView *activityView;//İndicator Çıkması için
} buraya kodlari ekle calisir
belirtmeyi unuttum .h sinifinda
hocam üstte ve alttaki siyah alanları nasıl kaldırabiliriz
Bu kodu direk indirip çalıştırmak yerine kendi projeni oluşturup bu kodu içine yapıştırmalısın. Bu dersi hazırlarken AutoLayout kullanımı yoktu.
Hocam denedim de ekrana göre boyutlandıramadım. 6plus a da geldi 5 e geniş geldi böyle sorunlar oldu hep
Tamamdır bunun olmaması için ve ios’ta uygulama geliştirmeye devam etmek istiyorsan öncelikle Auto Layout kullanımını öğrenmen gerekir. iOS farklı ekranlarda aynı görüntüyü alabilmek için ios 8 ile birlikte Auto Layout kullanımını aktif etti. İnternetten Auto Layout ile ilgili dersler bulabilirsin.
tamamdır hocam çok teşekkürler fakat uygulamayı yüklerken no suitable application records were found verify your bundle identifier hatası alıyorum
Simulatörden denedin mi ?
İyi günler, ben bir web yazılımcıyım. Daha önce mobil yazılım ile ilgili hiçbir derleyici ya da yazılım dili kullanmadım. Şuan bir web sitesini ios uygulaması olarak webview ile çekmem gerekiyor. Bunun için hangi derleyiciyi indirip sizin kaynak kodlarınızı çalıştırmalıyım ve uygulama çıktısını nasıl alabilirim. Burdan ya da mail adresimden dönüş yaparak yardımcı olursanız çok sevinirim
Bir mac al ve xcode yükle.
Bu ne kibir !
Hocam Merhabalar, Ben şu anda swift üzerinden çalışıyorum. Bu kullanımı swiftte nasıl yapacağım? Örnek varsa gönderirseniz çok sevinirim. Şimdiden teşekkürler