Son Forum Aktiviteleri

12
Tümünü Gör

Kullanıcıya ait forum aktivitesi bulunmamaktadır.

Navigation Drawer with Swipe Tab

picture-707-1383654821.jpg
08 Mayıs 2014 tarihinde cevaplandı

Merhaba Nurettin,

Evet bu ikisini birlikte kullanabilirsin. Swipe tab yapisi icinde kullanacagin ViewPager nesnesinin, onPageSelected eventi icerisinde hangi sayfada bulundugunu kontrol ederek Navigation drawer swipe eventini kapatip acman yeterli olacaktir.

Yani ViewPager'in ilk sayfasindayken mDrawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 
diger sayfalarindayken mDrawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); kullanabilirsin.
 

Kolay gelsin.

 

Sd-card'a kaydettiğim resmi okurken S3 ve s4 farkı

picture-707-1383654821.jpg
11 Nisan 2014 tarihinde cevaplandı

Merhabalar Gorkem,

Soruda da belirttigin gibi cihazlar arasindaki cozunurluk farkindan dolayi resimlerin farkli goruntlenmesi normal. Bunun onune gecebilmek icin imageView bize ScaleType ozelliklerini sunuyor. Ayrintili bilgi icin; http://developer.android.com/reference/android/widget/ImageView.ScaleType.html 

ornegin burdaki 8 scaleType sirasiyla kullanirsak 1282 x 1313 pixel cozunurlugundeki resmi su sekillerde goruntuleyebiliriz;

Görsel kaldırıldı.
 

Storyboard vs NIB ??

picture-707-1383654821.jpg
22 Kasım 2013 tarihinde cevaplandı

Merhabalar,

Storyboardlar iOS 5 ve üstünde desteklenen, tüm UI akışını birlikte görebileceğiniz, tüm transitionları yönetebileceğiniz bir teknoloji. UI üzerine daha az kod yazmanızı ve akışı daha net kontrol etmenizi sağlıyor. Ayrıca tableView yönetimi daha gelişmiş seviyede.

XIB dosyları ise her bir view veya child view parçalarını ayrı ayrı olarak yönetebileceğiniz bir yapı sunuyor.

Apple bildiğim kadarıyla herhangi bir yöntemi kullanmamız için bizi yönlendirmiyor. Kaldı ki storyboardlar ve XIB leri birlikte kullanma şansımızda var. 

Hangisini kullanalım dersek, bu biraz yazılımcının tercihine bağlı aslında. Tüm viewlar üzerinde tam hakimiyet isteyen birisi XIB tercih edebilirken, daha derli toplu bir yapı isteyen, view üzerinde daha az zaman harcamaya niyeti olan birisi ise storyboard tercih edebilir.

Kolay gelsin.

NSURLConnection bağlantısı

Sorununuzu simdi anladim. didReceiveResponse yapisinda size direkt olarak call yaptiginiz sayfanin verisi donmez. İlk asamada, baglanti kuruldugunda gelen cevap yeterli ise bu metoda dusersiniz. Sizin datanin tamamini karsilamaniz gereken yer ise didReceiveData  delegate metodu olmali. Ayrintili bilgi icin; https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLConnectionDataDelegate_protocol/Reference/Reference.html

block kullanimini ise network isleri gibi zaman alabilecek islerin background thread uzerinde yapilmasi acisindan oneriyorum. Yukarida verdigim kod ornegini kendi kodunuza gore uyarlayarak istediginiz sonucu elde edebilirsiniz. 

Kolay gelsin.

NSURLConnection bağlantısı

Ayrica delegate metoduna response dusmesini beklemenize gerek yok. 

URLRequest nesnenizi olusturduktan sonra;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
ile data degiskenine baglantidan gelen degiskeni direkt olarak alabilirsiniz. Bu metodu background block uzerinde cagirirsaniz, cevap dondugunde icerideki blockta ilgili dataya erisebilirsiniz. Toplamda kabaca soyle bir kod isinizi gorecektir;

dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

        NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"url"]];

        NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

        

        dispatch_async(dispatch_get_main_queue(), ^{

            NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

            NSLog(@"%@", str);

            

        });

        

    });

 

Ancak bu block altina bir kod yazarsaniz connection nesnesi background thread uzerinde yurudugu icin o kod calistirilmaya devam edecektir. Yazilim mantiginizi kurarken cevabin donusunden sonra cagiralacak metodlari icteki block icerisinde cagirmaya calisin.