SORU
12 HAZİRAN 2013, ÇARŞAMBA


Navigasyon ve bar benim görünümü içinde ortaya'In Status bar sınırları iOS 7

Geçenlerde DP Xcode 5 iOS 7 benim apps test etmek için indirdim. Fark ettim ve onaylandı ilk şey benim düşüncem bu sınırları her zaman durum çubuğu ve navigasyon bar hesabını yeniden boyutlandırılabilir değildir.

viewDidLayoutSubviews, görünümün sınırları ben baskı:

{{0, 0}, {320, 568}}

Bu benim içerik gezinti çubuğu ve durum çubuğunun altında görünen sonuçlar.

Ana ekran yüksekliği, durum çubuğunun yüksekliğini ve gezinti çubuğu yüksekliği çıkarılarak alarak yüksekliğini kendim için hesap olabilir biliyorum, ama bu gereksiz bir ekstra iş gibi görünüyor.

Bu sorunu nasıl düzeltebilirim?

Güncelleme:

Bu özel sorun için bir çözüm buldum. HAYIR navigasyon çubuğunun saydam özelliğini ayarlayın:

self.navigationController.navigationBar.translucent = NO;

Bu gezinti çubuğu altında çerçeveli manzarası tamir ediyor ve durum çubuğu.

Ancak gezinti çubuğu saydam olmasını istediğiniz durum için bir düzeltme bulamadım. Örneğin, bir fotoğrafı tam ekran görüntüleme, navigasyon çubuğu yarı şeffaf ve altında suçlanmanın görünüme sahip olmak istiyorum. Çalışır, ama/gezinti çubuğu gizleme ben değiştir, daha da garip sonuçlar yaşadım. İlk küme (Bir UİScrollView) sınırları y kökeni her zaman değişiyor.

CEVAP
13 EYLÜL 2013, Cuma


Yeni bir özellik edgesForExtendedLayout adlı iOS7 SDK uygulayarak elde edebilirsiniz. Lütfen aşağıdaki kodu bunu başarmak için ekleyin

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
        self.edgesForExtendedLayout = UIRectEdgeNone;

-(void)viewDidLoad yöntemi yukarıda da eklemek gerekir.

iOS 7 ve özelleştirme düzeni nasıl değişiklikler getiriyor sizin görünümUI. Görünüm-kontrol düzeni, renk değişiklikleri renk ve yazı tipi tüm etkilerUİKituygulamanız nesneleri. İçinde ayrıca, hareket algılayıcı API geliştirmeleri ince ver jest etkileşim kontrol taneli.

Görünümü Denetleyicileri Kullanarak

İOS 7 görünümü denetleyicileri tam ekran düzeni kullanın. Aynı zamanda, iOS 7 Yolu üzerinde daha fazla kontrole görünümü denetleyicisi verir manzarası dışında bırakır. Özellikle, tam ekran düzeni kavramı görünümü denetleyicisi her düzenini belirtmek için geliştirildi onun bakış kenarı.

wantsFullScreenLayout görünüm denetleyicisi özelliği kaldırılmış olur iOS 7. Şu anda wantsFullScreenLayout = NO görünüm belirtirseniz denetleyicisi beklenmedik bir ekran içeriğine konumunu görüntüleyebilir iOS 7'de çalışırken.

Görünüm denetleyicisi manzaralı UIViewControllerişleyişi ayarlayın aşağıdaki özellikleri sağlar:

  • edgesForExtendedLayout

edgesForExtendedLayout özelliği UIRectEdge türünü kullanır, hangi ek bir dikdörtgenin dört kenarları her belirtir, belirtme yok. edgesForExtendedLayout belirlemek için kullanın bir görünüm kenarları, bar kalınlığı ne olursa olsun genişletilmeli. Tarafından varsayılan olarak, bu özelliğin değeri UIRectEdgeAll.

  • extendedLayoutİncludesOpaqueBars

Eğer tasarım opak barlar kullanıyorsa, edgesForExtendedLayout rafine ayrıca extendedLayoutIncludesOpaqueBars bu özelliği ayarlama HAYIR. (extendedLayoutIncludesOpaqueBars varsayılan değerdirHAYIR.)

  • automaticallyAdjustsScrollViewİnsets

Eğer bir kaydırma görünümü içeriğini parçalar otomatik olarak olabilir, eğer ... ayarlanabilir, automaticallyAdjustsScrollViewInsets ayarlayınHAYIR. ( automaticallyAdjustsScrollViewInsets varsayılan değerdirEVET.)

  • topLayoutGuide, bottomLayoutGuide

topLayoutGuide bottomLayoutGuide özellikler gösteriyor görünümü denetleyicisi görüşüne göre üst veya alt bar kenarları konumu. Eğer çubukları kullanabilirsiniz bir görünüm üst veya alt örtüşme olursa Görünüm bara göreli konumu için Interface Builder oluşturarak topLayoutGuide altına kısıtlamalar ya da üst bottomLayoutGuide. Eğer hiç sinyal görünümü örtüşüyor, alt topLayoutGuide görünümü üst ve üst aynıdır bottomLayoutGuide görünümü altında aynıdır.) Hem özellikler istendiğinde tembel oluşturulur.

Bakın, apple doc lütfen

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • kylediablo

    kylediablo

    8 Ocak 2007
  • Tylerron

    Tylerron

    6 AĞUSTOS 2006