SORU
18 AĞUSTOS 2013, Pazar


7 durum iOS için geri iPhone 6 varsayılan stil bar iOS?

İOS 7 UIStatusBar Bu gibi: Görünüm ile birleştirir bir şekilde tasarlanmıştır

GUI designed by Tina Tavčar (GUI Tina Tavčar tarafından tasarlanmış)

  • Serin, ama biraz görünümü üst kısmında bir şey varsa, senin görünümünü berbat edecek, ve durum çubuğu ile çakışan olur.

  • Orada basit bir çözüm (bilgi.bir özellik ayarı gibi plist) bu şekilde değiştirebilirsiniz [sessiz] ne kadar geri iOS6?

  • Biliyorum bir daha basit bir çözüm var self.view.center.x 20 Puan için her görünümü denetleyicisi, ama değişen onları vida diğer boyutları olan bir farklı self.view.center.x neden sorun için özel geçişlerini, vb.) ve birden bire en iyi Kaçınılması için sıkıcı bir iş haline dönüşür.

  • Gerçekten, eğer birisi bana oyunu bunun için bir çözüm sağlayabilir olursanız memnun olurum.

P. S. ben olması gibi şeyler yaparak durum çubuğunu gizle

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];

5 ** yöntem, ama bu geçici bir çözüm, bir kısayol sorunu önleme, gerçek bir çözüm olarak görmüyorum.

CEVAP
17 EYLÜL 2013, Salı


Bu iOS 7 a blog post I wrote, ama burada tam döküm durumu barlar, barlar ve konteyner görünümü denetleyicileri navigasyon çapraz-yayınlanmıştır

  1. İOS 6 tarzı durum çubuğu düzeni korumak için bir yol yoktur. Durum çubuğu her zaman iOS 7 Uygulama çakışır

  2. Çubuğu görünümü durum çubuğu düzeni durumu ile karıştırmayın. Görünüm (ışık) veya varsayılan durum çubuğu (çerçeve/yükseklik/örtüşme) dışarı atılır nasıl etkilemez. Önemli sistem durum çubuğu artık herhangi bir arka plan rengine sahip olduğunu da belirtmek gerekir. API UİStatusBarStyleLightContent için başvurduğunda, net bir arka plan üzerinde beyaz metin. UİStatusBarStyleDefault net bir arka plan üzerinde siyah metin.

  3. Durum çubuğu görünümü kontrollü boyunca iki birbirinden bağımsız olarak yolları: her iki takım programlı olarak geleneksel tarzda veya UİKit yeniden ortaya çıkması için temel bazı yeni özellikler UİViewController. İkinci seçeneği varsayılan olarak açıktır. “ViewController Tabanlı Durum Çubuğu Görünüm” kullandığınız görmek için uygulamanızın plist değerini kontrol edin Eğer siz bu değeri EVET, her üst düzey görünümü denetleyicisi uygulaması (başka bir standart UİKit konteyner görünümü denetleyicisi) ihtiyaçları için geçersiz preferredStatusBarStyle, dönen ya da varsayılan ya da ışık tarzı. Sana HAYIR plist değeri düzenlerseniz, o zaman durum çubuğu görünüm tanıdık UİApplication yöntemleri kullanarak yönetebilirsiniz.

  4. UİNavigationController da 44 puan veya 64 puan için UİNavigationBar yüksekliği, kısıtlamaları oldukça garip ve belgesiz bir dizi bağlı olarak değişecek. Eğer UİNavigationController kendi bakış çerçevesinin üst UİWindow en iyi ile görme bitişik olduğunu algılarsa, o zaman 64 puan yüksekliğe sahip bir navigasyon bar çizer. Eğer onun görünümünü en iyi değil bitişik olan UİWindow üst (bile kapalı tek nokta), sonra da çeker gezinme çubuğunda “geleneksel” yol ile yükseklik 44 puan.Bu mantık eğer uygulamanızın görünüm denetleyicisi hiyerarşisi içinde aşağı birkaç çocuk dahi UİNavigationController tarafından yapılır.Bu davranışı önlemek için yolu yoktur.

  5. Eğer bir kaynağı özel gezinti çubuğu arka plan görüntüsü, o sadece 44 puan (88 piksel) uzun boylu ve UİNavigationController görüşüne ... ... sınırları maçları UİWindow bu sınırları olarak ele #4), UİNavigationController çeksin görüntü çerçeve (0,20,320,44), bırakarak 20 Puan opak siyah alanı üzerinde özel görüntü. Bu #1, ama yanılıyorsunuz kural bypass zeki bir geliştirici olduğunuzu düşünerek sizi yanıltır. Gezinti çubuğu hala 64 puan uzun boylu. Slayt-için-açığa tarzı görünüm bir hiyerarşi içinde bir UİNavigationController gömme bu çok açık hale getirir.

  6. UİViewController bu da karışıklığa yol açacak adlı edgesForExtendedLayout özelliği dikkat edin. EdgesForExtendedLayout ayarlama çoğu durumda hiçbir şey yapmaz. Tek yolu UİKit kullanır bu özellik varsa ekleyin bir görünüm denetleyicisi için bir UİNavigationController, UİNavigationController kullanır edgesForExtendedLayout belirlemek için olsun veya olmasın, çocuk görünümü denetleyicisi olmalıdır görünür altındaki navigasyon bar / status bar alanı. Bu UİNavigationController üzerinde edgesForExtendedLayout ayarı yok veya UİNavigationController 44 veya 64 nokta yüksek navigation bar alanı olup olmadığını değiştirmez kendisi yapar. Bu mantığa #4'e bakın. Benzer düzeni mantığı araç çubuğu veya bir UİTabBarController kullanırken görünümü altında uygulanır.

  7. Eğer yapmaya çalıştığınız bir UİNavigationController içinde gezinti çubuğu underlapping özel çocuk görünümü denetleyicisi önlemek ise, o zaman UİRectEdgeNone (veya UİRectEdgeTop hariç en az bir maske) edgesForExtendedLayout ayarlayın. Bu değer mümkün olduğunca erken görünümü denetleyicisi yaşam döngüsü içinde ayarlayın.

  8. UİNavigationController ve UİTabBarController da küme kendi hiyerarşisi içinde ped Tablo görünümleri ve toplama görüşlerini contentİnsets için çalışacağız. Bir şekilde #4 durum çubuğu mantığına benzer bu. Bunu önlemenin programlı bir şekilde, tablo, görüş ve toplama görüşleriniz (EVET varsayılan) için automaticallyAdjustsScrollViewİnsets ayarı YOK. Bu contentİnset ayarlamaları Tablo görünümleri düzenini kontrol etmek için araç çubuğunu ve klavye hareketleri tepki olarak kullanıyoruz beri Fısıltı ve Cevabı için bazı ciddi problemler,.

  9. Yinelemek için: iOS 6 tarzı durum çubuğu düzeni mantık dönüş yolu yok. Sipariş için yaklaşık bu, hareket etmeniz gerekli tüm görünümü denetleyicisi app içine bir kap görünümü uzaklık 20 puan üst ekran, terk, kasıtlı olarak siyah bir görünüm arkasında durum çubuğu simüle etmek için eski görünüm. Bu kadar Cevap ve Fısıltı kullanarak bitirdik yöntemi.

  10. Apple çok zor #9 yapmaya çalıştığımda yok emin olmak için bastırıyor. Bize tüm bizim apps durum çubuğu underlap için yeniden dizayn etmek istiyorlar. Bu her zaman iyi bir fikir değil neden bu kadar çok ikna edici argümanlar, ancak, kullanıcı deneyimi ve teknik sebepler de vardır. Kullanıcılarınız için en iyi olanı yapmak gerekir ve sadece platformun kaprisli izleyin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 3dmmfavs

    3dmmfavs

    29 Kasım 2009
  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • Codecourse

    Codecourse

    3 ŞUBAT 2009