2013-10-16 8 views
7

Ben UINavigationController ve UITabBarController gibi bazı Kaplanmış görünümleri içerdiği görüşleri Ben açısından aklınıza gelebilecek hemen her şeyi denedim düzgün düzeni yapmak için iOS 7'de görünümü denetleyicileri için yapmak sağlayan bir konteyner görünüm denetleyicisi oluşturmak için çalışıyorum -bottomLayoutGuide'ı hem kapsayıcı hem de içerilen görünüm denetleyicilerinde uygulamak, ancak şanssız. Yöntem denir, ancak değer kullanılmıyor gibi görünüyor.UIViewController altklaslarında topLayoutGuide ve bottomLayoutGuide uygulanması mümkün mü?

Ben https://github.com/stefanfisk/custom-layout-guides birlikte hızlı bir örnek koyduk, ama orada bile denilen erişenleri almak mümkün değildi.

+0

Ben hiçbir şey olmuyor nasıl gösteren basit bir proje için bir bağlantı içeren soru kaydetmiştiniz:

Ben de topLayoutGuide & bottomLayoutGuidereadonly olarak beyan fark ettik. –

cevap

2

ben buldum kodda kısıtlamaları ayarlarken, örneğin sadece UILayoutSupport protokolüne uygun olmalıdır olarak

2013-10-16 22:23:27.119 Custom Layout Guides[46840:a0b] -[LayoutGuide superview]: unrecognized selector sent to instance 0x8c80c80 
2013-10-16 22:23:27.124 Custom Layout Guides[46840:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[LayoutGuide superview]: unrecognized selector sent to instance 0x8c80c80' 

O Otomatik Düzen bir düzen kılavuz üzerinde superview aramaya çalıştığında çok garip:

[self.view addConstraints:[NSLayoutConstraint 
          constraintsWithVisualFormat:@"V:[topLayoutGuide][mainView]" 
          options:0 
          metrics:nil 
          views:@{@"topLayoutGuide" : self.topLayoutGuide, @"mainView" : self.mainView}]]; 

ile çöker.

@property(nonatomic, readonly, retain) id<UILayoutSupport> topLayoutGuide 
@property(nonatomic, readonly, retain) id<UILayoutSupport> bottomLayoutGuide 
+0

I, sanki alt sınıflar tarafından geçersiz kılınmaları gerekmiyor gibi görünüyor, ancak bana göre doküman, döndürülen asıl nesnelerin, düzenleyici motor tarafından kullanılacağını, bunun da işe yarayacağını ima ediyormuş gibi okur. çerçeve uygulamaları tarafından döndürülen nesne açık bir görünüşüdür olsa da, bu sınıfın sahiptir: https://github.com/JaviSoto/iOS7-Runtime-Headers/blob/master/Frameworks/UIKit.framework/_UILayoutGuide.h –

+0

@ StefanFisk: Bana öyle geliyor ki, bu durumda dokümantasyon uygulama ile uyuşmuyor. Belki de düzen kılavuzlarının üzerine yazılmasını gerektirmeyen bazı geçici çözümler bulabilirsiniz? –

+1

Sadece bir not: Dahili olarak, kılavuz kılavuzları, görünüm hiyerarşisine eklenen UILayoutSupport ile uyumlu UIViews'dir. Belki özel UIView alt sınıflarını görünümüne ekledikten sonra döndürürse işe yarayabilir? – Accatyyc