Diğer geliştiriciler, Arayüz Oluşturucu'da (Xcode 5 / iOS 7) AutoLayout ile sorun yaşıyorum. Bu çok basit ve önemli, bence herkes bunun nasıl düzgün çalıştığını bilmeli. Bu Xcode'da bir hata ise, kritik bir hata!
Yani, böyle bir görünüm hiyerarşisine sahip olduğum zaman başım belaya girer:
>UIViewController
>> UIView
>>>UIScrollView
>>>>UILabel (or any other comparable UIKit Element)
UIScrollView'ın katı kısıtlamaları vardır, örneğin her taraftan 50 piksel (sorun yok). Daha sonra UILabel'e bir Üst Alan kısıtlaması ekliyorum (sorun yok) (ve etiketin yüksekliğini / genişliğini bile sabitleyebilirim, hiçbir şey değiştiremiyorum, ancak Etiketin iç boyutu nedeniyle gereksiz olmalı)
UILabel için bir sınırlama eklediğinizde sorun başlar:
Örneğin, Sondaki Boşluk: Denetim Eşittir: 25
Şimdi iki uyarı var - ve nedenini anlamıyorum:
A) Kaydırılabilir İçerik Boyutu Belirsizliği (Kaydırma Görünümünde belirsiz kaydırılabilir içerik yüksekliği / genişliği var)
B) Yanlış Yerleştirilen Görünümler (Etiket Beklenen: x = -67 Gerçek: x = 207
Bu minimal örneği indirebileceğiniz yeni bir projede yaptım ve bir ekran görüntüsü ekledim. Gördüğünüz gibi, Arayüz Oluşturucu Etiketin UIScrollView sınırının (turuncu kesikli dikdörtgen) dışında kalmasını bekler. Etiketin çerçevesini Sorunları Çözme Aracı ile güncellemek, tam buraya taşır.
Lütfen dikkat: UIScrollView öğesini bir UIView ile değiştirirseniz, davranış beklendiği gibi olur (Etiket'in çerçevesi doğrudur ve kısıtlamaya göre). Yani ya UIScrollView ile ilgili bir sorun var gibi görünüyor ya da önemli bir şey eksik.
Ben IB tarafından önerilen Etiket çerçevesini güncellemeden App çalıştırdığımda, tam olarak olması gerektiği yerde ve UIScrollView kaydırılabilir olduğunu gayet iyi konumlandırılmış. Çerçeveyi güncellersem Etiket görünmez olur ve UIScrollView kaydırılmaz.
Bana yardım et Obi-Wan Kenobi! Neden belirsiz düzen? Neden yanlış görüş?
Örnek projeyi buradan indirebilir ve neler olup bittiğini anlayabiliyorsanız deneyebilirsiniz: https://github.com/Wirsing84/AutoLayoutProblem
UIScrollView
doğrudan kullanmamak . Bunun yerine UICollectionView
veya UITableView
mümkün olduğunca, bu elemanla çoğunlukla her şey mümkündür ve aynı zamanda basitlik, okunabilirlik ve tekrar kullanılabilirlik sağlar !!!