bu uyarıları görmek oldukça can sıkıcı sonuçsal olmasa da:Başlangıçta sıfır boyutlu görünüm için tatmin edici olmayan düzen kısıtlamaları için daha iyi bir çözüm?
benim kısıtlamaları yanlış bir şey yokUnable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) (
"<NSLayoutConstraint:0x19288a20 V:|-(6)-[UILabel:0x19288640] (Names: '|':_UITableViewHeaderFooterContentView:0x192885b0)>",
"<NSLayoutConstraint:0x19288a70 V:[UILabel:0x19288640]-(6)-| (Names: '|':_UITableViewHeaderFooterContentView:0x192885b0)>",
"<NSAutoresizingMaskLayoutConstraint:0x19289cd0 h=--& v=--& V:[_UITableViewHeaderFooterContentView:0x192885b0(0)]>")
Will attempt to recover by breaking constraint <NSLayoutConstraint:0x19288a70 V:[UILabel:0x19288640]-(6)-| (Names: '|':_UITableViewHeaderFooterContentView:0x192885b0)>
. UIKit, görünüm sıfır boyutunda olduğunda, bu kısıtlamalarla UITableViewHeaderFooterView
için düzen yapmaya çalıştığında sorun oluşur. Elbette herhangi bir kısıtlamadan herhangi bir olumlu ölçütle tatmin etmek imkansızdır.
Açık bir çözüm, UILayoutPriorityRequired
önceliğinden daha düşük bir değere ayarlamak veya her bir pozitif metrik için NSLayoutRelationEqual
yerine NSLayoutRelationLessThanOrEqual
kullanın. Ama sonra bu koltuk değneklerimi tüm görüşlerim üzerindeki tüm kısıtlarıma eklemem gerekiyor. Gerçekten istediğim şeyin zor ve hızlı değil, isteğe bağlı kısıtları olduğunu belirtmemek.
Başka bir geçici çözüm, UITableViewHeaderFooterView
için bir başlangıç çerçevesi belirlemektir. Ancak, atanan init yöntemini dikkate alarak-initWithFrame:
değil ve UITableViewHeaderFooterView
için çerçeveyi belirtmek UITableView
ve UITableViewDelegate
'un sorumluluğundadır, ne iyi bir çözümdür.
Yani daha iyi olanları?
Arabirim Oluşturucusu kullanan kişiler için hangi çözümü önerirsiniz? – thedeveloper3124
@walapu Muhtemelen yukarıdaki # 1 ile gitmek ve CGSizeZero durumunda bir istisna atmamak için görüşünüze daha az sert (öncelik <1000) kısıtlamaları vermek isteyeceksiniz. – larsacus
Bu çözüme http://stackoverflow.com/a/35053234/1275014 adresinden gidiyorum, çünkü daha az katı kısıtlamalar getiriyor ancak UILabels ile çalışmıyor – thedeveloper3124