2014-10-19 17 views
16

Otomatik düzen ile ilgili bazı sorunlarım var, umarım bir kısmı bana yardım edebilir =).iOS autolayout, öndeki ve sondaki boşluğu değiştiriyor

Böyle boş bir görünümü denetleyicisine bir UIView ekleyin: enter image description here

Sonra, bu gibi ön ve arka alanı için kısıtlamalar ekleyin: bu durum,

enter image description here

:

enter image description here

Neden onları -16.0'a eşit olarak ayarlayacağını anlayamıyorum. Bu değerleri 0 olarak değiştirirsem, Xcode gri UIView'nin genişliği hakkında şikayet eder. IPhone 5 simülatörde uygulamayı çalıştırdığınızda

, gayet görünür: enter image description here

Ancak, iPhone 6 Plus simülatörü Uygulamayı çalıştırdığınızda soldaki ve sağdaki beyaz boşluk ekler:

enter image description here

Gri ​​UIView'in ekranın ne kadar büyük olursa olsun sağdan sola boşluk bırakmasını istemiyorum. Bunu nasıl düzeltebilirim? Teşekkürler!

+0

Sadece kısıtlamaları sağ tarafta düzenle düğmesine tıklayın ve -16 ila -16 kenarından ziyade marjı sınırlamalar ayarlamadan ile ilgisi var 0'a değerini değiştirmek görünümün – rdelmar

+1

Bunları 0 olarak değiştirirseniz, Xcode otomatik olarak şu görünümü yeniden boyutlandırır: http://i.imgur.com/HjQi2dV.png – almas

+0

Ve bunları 0 olarak ayarlar ve sonra çerçeveyi el ile kenardan kenara ayarlarsanız, daha sonra, görüntülerin yanlış yerleştirilmesiyle ilgili bir uyarı alıyorum ve çalışma zamanında bu görüntüyü yeniden boyutlandırıyor, burada bir ekran görüntüsü: http://i.imgur.com/954Jz1O.png – almas

cevap

37

Kısıtlamayı çift tıklayın ve açın. İlk veya ikinci öğeyi seçin ve "Kenar boşluğuna göreli" seçeneğinin işaretini kaldırın. Ardından sabitinizi 0 olarak ayarlayın.

Xcode, kenarları değil kenar boşluğuna göre alan hesapladığından -16 değerini gösterir.

Marjlar hakkında daha fazla bilgi için aşağıdaki bağlantıyı kontrol edin. Editing Auto Layout Constraints

enter image description here

+0

Bu, açık bir açıklama ve bağlantı için teşekkürler. – almas

+0

Çok teşekkür ederim! –

0

Var olan tüm kısıtlamaları görünümden temizleyebilirsiniz ve Any * Any (Her türlü) modunda, 4 boşluğun tamamı için Superview (Öncü, Son, Üst, Alt) olan kısıtlamaları ekleyin. Daha sonra ekran ne kadar büyük olursa olsun ekran ile eşit genişliğe sahip olacaktır.

+0

Yine de onları yeniden boyutlandırıyor. Bunun gibi kısıtlamalar ekledim: http://i.imgur.com/wUiFX31.png, bunun sonucunda: http://i.imgur.com/4hqUuKD.png – almas

+0

-16'ya dikkat edin, greyview'ın kökeni x 0 olmalı ve genişliği 600 olmalıdır. – gabbler

+0

evet, bunu denedim, yine de yeniden boyutlandırıyor. Ekran görüntüsü: http://i.imgur.com/IlnyGhi.png – almas

İlgili konular