2013-03-01 21 views
73

Arabirim Oluşturucu'da 'genişlik eşittir yükseklik' anlamına gelen 'kare' bir kısıtlama oluşturmanın bir yolunu bulamıyorum. Programatik olarak böyle bir kısıtlama eklemek mümkün sanırım. IB'de yapabileceğim bir şey var mı? Belki de onu görmüyorum? Önemsiz görünüyor, ama bulamıyorum.Arabirim Oluşturucusu'nda "Genişlik eşittir yükseklik" kısıtlaması

+0

Peter Ammon WWDC'12 içinde "mümkün olduğunca Interface Builder güvenin" bahsediyor hatırlıyorum. Ne kadar ironik. – DemoniacDeath

+4

Evet, bence düzeni kısıtlamalarının uygulanmasından hala birkaç şey eksik. Bize birçok parametreye erişim sağladılar, ama bir çok şey için yararlı olacak çarpan değil. – rdelmar

+0

Ama daha iyi ve daha iyi oluyor! Auto Layout 3 yıldan daha kısa bir süre önce tanıtıldı ve benim görüşüme göre destek bugünlerde gerçekten çok iyi. –

cevap

159

Güncelleme Xcode 5.1b5

width equals height

Ctrl + tıklayın ve bir görünümden sürükle ve işaretçi görünümü üzerindeyken bırakın. "En Boy Oranı" nı seçin. İlk ve ikinci öğenin görünüm olduğu yerde bir kısıtlama yaratacaktır. Bu nedenle,

width constraint

: genişlik/yükseklik düzenleyici alanları olmadığı için


Xcode 5,1

önce başka bir özelliği ile ilişkili olabilir veya oranını ayarlamak için değil Aşağıdaki kodu Arabirim Oluşturucu'da ifade edemezsiniz:

CGFloat ratio = 1.0; 
NSLayoutConstraint *constraint = [NSLayoutConstraint 
    constraintWithItem:myView 
    attribute:NSLayoutAttributeWidth 
    relatedBy:NSLayoutRelationEqual 
    toItem:myView 
    attribute:NSLayoutAttributeHeight 
    multiplier:ratio 
    constant:0]; 
constraint.priority = 1000; 
[myView.superview addConstraint:constraint]; 
+1

En son güncelleme için teşekkürler. Xcode 5.1 beta 5 aslında IB-boy oranı kısıtlamaları ayarlamanızı sağlar, ama proje derlemeye çalıştığınızda, hatasını aşağıdaki olsun: Xcode sürümleri ile _Aspect oranı kısıtlamaları öncesinde 5.1_ için. Belki de son 5.1 versiyonunu beklemek zorundayız. Senin için aynı, @Jano? –

+0

Evet, XIB'lerde yapılan değişiklikler geriye dönük olarak uyumlu değil. 5.1 ile düzenlerseniz, daha az sürümlere geri dönemezsiniz. – Jano

+0

Yani xib'i derleyebildiniz mi? Benim için Xcode 5.1 beta 5 ile bile çalışmıyor. –

İlgili konular