2015-10-08 28 views
10

İhtiyacım olan konumlara göre boyutlandırmak ve boyutlandırmak için birden çok görünüm ve kısıtlamaya sahip basit bir düzenim var. Uygulamayı bir simülatör veya cihaza dağıttığımda, tüm görünümlerin X, Y ve Genişlikleri uygun boyutlara sahiptir. Diğer taraftan Yükseklik her zaman 0'dır. Tüm görünümlerin süper görünümüne göre orantısal yükseklikleri vardır.Dikey Düzen yalnızca yönlendirmeyi Yatay olarak değiştirdikten ve Dikey olarak geri döndükten sonra doğru şekilde görüntülenir.

Yönü yatay olarak çevirir ve sonra tekrar resme geri dönersem, her şey düzgün bir şekilde görüntülenir (yükseklikler artık 0 değil).

Daha önce orantılı yükseklikleri aynı mantık kullandım ve Xcode için Şunlar arasından .xib alabilirsiniz 7.

EDIT güncellemeden sonra yeni oluşturulan görünüm denetleyicileri ile bu sorunu görmeye başladık http://1drv.ms/1M81EUQ

+0

sizin kısıtlamaları ayarlanır konusunda daha fazla bilgi mi gerekiyor? Bir kısıtlamayı kaçırmışsınız gibi geliyor. – Ben

+0

Koddaki ilgili görünümlerle ilgili herhangi bir şey değiştiriyor musunuz? Kodun yüksekliğini belirleyen bazı içerikler eklediğiniz gibi, bana geliyor, ancak cihaz dönene kadar görünümler yeniden çizilmez. Belki bir yerdeymiş gibi bir düzen mi unuttun? – JWKothe

+0

@ProgrammingBonn no, koddaki hiçbir şeyi değiştirmiyorum. Ben sadece bir XIB içinde düzeni var ve sadece yükleme. –

cevap

1

Otomatik maske yeniden boyutlandırmayı kullanırsanız ya da bunu düzeltmek için autolayout kullanırsanız, değişen yönlendirmeyle ilgili farklı görünüm güncelleme yöntem çağrısı ayarlamanız gerekir.

+0

Ne demek istediğimi doğru bir şekilde anladığımdan emin değilim, ancak önerdiğiniz buysa Otomatik Düzen'i kullanıyorum. –

+0

Görünümünüze alınan IBoutlet'in sabit yüksekliğini ve genişliğini ayarlamadığınızı düşündüm. ve lütfen alt boşluğu eşit veya daha az ayarlayın. –

+0

Anladığımdan emin değilim. Düzenlemeyi düşünüyor musunuz?Soruna bağlı olan ve değiştiren xib dosyası daha sonra bir yere yapıştırır, böylece ne demek istediğini görebiliyorum? Teşekkürler. –

1

.xib, Boyut Sınıfları etkinleştirilmiş olarak yapılandırıldı, ancak görünümleriniz ve kısıtlamalarınızın tümü yalnızca Kompakt genişlik, Normal yükseklik için uygulanacak şekilde yapılandırıldı.

wC hR is Checked, Any Any is not

geçtim ve tek Herhangi genişliği, herhangi bir yüksekliğe uygulanacak görüş ve kısıtlamaları değişti ve bu manzara düzenleri ile sorunu çözüldü.

Download the modified .xib file here

Ben autoLayout ile çalışırken size aynı anda birden fazla yönlerde birden fazla cihaz, bakalım olacak şekilde, Xcode 7'nin Önizleme Yardımcısı Görünümü kullanılması önerilir. Bu, bu düzenlemenin, düzenin dikey olarak değil, manzarada iyi olduğunu göstererek gerçekten yardımcı oldu.

Bu Preview of populated portrait but empty landscape views

Ve Preview showing populated portrait and landscape

nasıl bu olmuş olabilir benim .xib değişiklikler sağlanan senin .xib gördüklerini edilir? Bir yolu, hikaye tahtasının editörünü yanlışlıkla belirli bir boyut sınıfına ayarlamanız olabilir. Düzenleyicinin altında mavi bir kenarlık görürseniz, eklediğiniz her şey yalnızca belirli boyut sınıfı için yüklenecek şekilde yapılandırılacaktır. Bunu değiştirmek için gösterilen beden sınıfına tıklayabilirsiniz. Herhangi bir h Varsayılan moda dönmek için. Eğer kodu veya film şeridi dosyayı paylaşabilir -

Blue bar at the bottom of the storyboard editor

+0

Ona bakmak için zaman ayırdığınız için teşekkür ederiz. Sorunum manzara modunda çalışmadığı halde (bu sayfa sadece portre olarak kullanılacaktır). Sorun, portre sayfasının düzgün bir şekilde gösterilmesi için bir yönlendirme değişikliği yapmam gerekiyor, bu yüzden tekrar dikey duruma geçtiğinde, her şey doğru şekilde gösteriliyor. Ayrıca, portre için önizlemelerin hepsi iyi, sorunlar sadece gerçek bir cihazda veya simülatörde çalıştırdığınızda görünür. –

İlgili konular