2009-05-27 7 views

cevap

31

yukarı kontrolleri astar ve genellikle ekranda işgal görsel alan konusunda kontrollerin yerleri düşünmek yerine, sadece kendi ham kareler arzu var birbirinden onların mesafeleri ölçülürken. Birçok durumda, bir kontrolün kapladığı görsel dikdörtgen ve çerçevesi çok farklıdır. Örneğin, normal boyutta bir basma düğmesi ekranda 2 veya 3 noktalı bir alt gölge ile yaklaşık 20 nokta uzunluğunda görünüyor. Gerçekte, düzgün bir şekilde yapılandırılmış bir basma düğmesinin çerçevesi, 32 değil, uzun boyludur. Bu ekstra 9 puanlık dolgu görsel olarak belirgin değildir.

"Layout Rectangle", Interface Builder'ın bu kavram için kullandığı addır.

Düzen dikdörtgeni, ölçüm ve boyutlandırma uygulamalarına bakmak için kullanışlıdır. Apple İnsan Arayüz Yönergeleri, "İki basma düğmesinin dikey ve yatay olarak hizalanması, onları yatay olarak ayıran 12 noktaya sahip olmalıdır" ifadesini kullanabilir. Düğmeleri ayıran 12 nokta bu alan, ham çerçevelerine değil, düğmenin düzen çerçevelerinden ölçülmelidir.

+0

Bu yorumu yazmanın arasında, şimdi de AppKit ve UIKit, Auto Layout'u benimsedi. Otomatik düzenin hizalama dikdörtgeni kavramı, Arayüz Oluşturucu'daki düzen dikdörtgeniyle aynı kavramdır. –

+0

Otomatik Düzenleme'yi kullanırken hizalama dikdörtgenini nasıl ayarlıyorsunuz? Interface Builder'da bunu yapmanın bir yolu var mı? Düzen çerçevesinin etrafında oynamak, bunun için fazla bir şey yapmıyor gibi görünüyor. – Marchy

7

Birçok yerleşik IB elemanları "sınırları" dikdörtgenin karşı ayrı bir "düzen" var. Farkı "Mizanpaj> XXX Dikdörtgenlerini Göster" kullanarak göstererek görebilirsiniz. Açılır menü, koordinatların başvurduğu dikdörtgeni belirtir. Mac'te

örneğin etiketlerdir bu etkiler UITextFields. Düzen ve Çerçeve arasında geçiş yaparsanız, X koordinatı 3 piksel olarak değişir. Bunlardan herhangi birini etkileyip etkilemediğini görmek için iPhone kontrolleriyle oynamıyorum. Çok fazla gelmiyor.

+2

Güzel bahşiş. Teşekkürler, ama _Show (Sınırlar | Düzenleme) Rectangles_ menü öğesi artık Xcode 4.5.1'de ** Editor> Canvas ** altında. – Jeff