2013-07-29 20 views
11

Hem iPhone4 hem de iPhone5 üzerinde iyi çalışacak şekilde hikaye tahtası ve otomatik düzen kullanarak iOS uygulaması oluşturuyorum. Aşağıda, hikaye panosu kullanılarak oluşturduğum görünümün ekran görüntüsü var. Yukarıdaki resimde enter image description hereiOS - Storyboard ve autolayout kullanarak UIScrollView merkezini ortalamak için


, ben Superview ön kenarı ve sağ tablo görünümünden ortasında kaydırma görünümünü devam etmek istiyorum. IPhone5'deki genişliğini artırmak için kaydırma görünümünü istemiyorum. Farklı kısıtlama kombinasyonlarını denedim, ancak başaramadım.

Bazıları, kaydırma görünümü için ayarladığım tüm kısıtlamaların merkezde olmasını sağlayacak şekilde önerebilir.

cevap

6

Ekrana ek bir görünüm ekleyerek bunu yapmanız gerekir. Sahip olduğunuz anda

...

- UIView (main view) 
    | 
    | - scrollView 
    | - tableView 

Böyle başka bir görünümün içine kaydırma görünümünü koymalıyız ...

- UIView (main view) 
    | 
    | - UIView (spacer View) 
    | | - scrollView 
    | 
    | - tableView 

Şimdi ne yapabiliriz bu kısıtlamaları olduğunu. ..

spacer view leading edge constraint to super view = 0 
spacer view trailing edge to table view leading edge = 0 
table view width = (whatever the width is) 
table view trailing edge to super view = 0 

Bu boşluk görünümü ve ayırıcı görünümü artacak böylece tablo görünümü ortaya koymak olacaktır.

Artık kaydırma görünümün süper görünümü sonra herzaman tablo görünümünde ve mekan geri kalanı arasındaki merkezlenirsiniz boşluk görünümüdür çünkü Şimdi ...

scroll view width = x 
scroll view height = y 
scroll view centered vertically in super view 
scroll view centered horizontally in super view. 

eklemeniz gerekir.

35

Film Şeridi '

bir görünümü merkezine alma nasıl Bu cevap Xcode 8.

Bu cevap sadece öğelerden ortalamak nasıl için genel arama yapıyor insanlar içindir için güncellendi film şeridi ve kısıtlamaları anlama.

Bir Storyboard (XIB dosyaları değil) ve Otomatik Düzenleme kullandığınızı varsayalım. Bu, bugünün varsayılanıdır, eğer bunun ne anlama geldiğini bilmiyorsanız, o zaman endişelenmeyin. Yine de kontrol etmek isterseniz, Project Navigator'daki Main.storyboard'a ve ardından Dosya denetçisine tıklayabilirsiniz.

enter image description here

senin düğmesini seçin (veya ortalamak istediğiniz görmek ne olursa olsun) film şeridinde: Sen kullan Otomatik Düzen işaretli olduğundan emin olabiliriz. Ardından sağ alttaki hizalama düğmesini tıklayın. "Konteynırda Yatay Olarak" ve "Dikey Olarak Kapsayıcıda" seçeneğini seçin. "2 Kısıtlama Ekle" ye tıklayın. mükemmel zaten merkezli edilmediyse

enter image description here

Bir şeyi daha yapmak gerekebilir. Hizalama düğmesinin solunda bulunan "Kareleri Güncelle" düğmesini tıklayın. Görüşünüz şimdi storyboard üzerinde ortalanmalıdır.

enter image description here

Ve uygulamanızı çalıştırdığınızda daha da önemlisi, artık olursa olsun kullandığınız hangi cihazı boyutu merkezli olmalıdır.

Orijinal olarak bunu Creating the user interface – Auto layout'dan öğrendim. Temel fikir hala aynı, ancak UI düzenlemesi şimdi Xcode'da biraz değişti.

Bu benim soru için ilgili olmayan soruları cevap da

+0

bakınız. Bahsettiğim Scrollview yatay ve dikey merkezinde olamaz. Üst öğesi, denetleyicinin görünümüdür. – Satyam

+13

Bunun sizin sorunuza cevap vermediğini anlıyorum. Fogmeister'in cevabını kabul etme hakkın vardı, benim değil. Ancak, başlığınızdan dolayı, buraya bir hikaye panosunda bir şeyin nasıl ortalanacağını öğrenmek için birçok insan geliyor. Yardım etmeye çalıştığım insanlar. – Suragch

İlgili konular