UITableView
Aşağı kaydırdığınızda gösterinin hücreleri boş alan üzerinde mi?
Öyleyse, sorun UITableView
, görünümünüzdeki Gezinti denetleyicisinden dolayı eklenen iç metin olabilir . İçeriğin, kaydırma yapılmadığında gezinme çubuğunun altına yerleştirilmesi için tablo görünümüne eklenir. Tablo kaydırıldığında, içerik kayar ve şeffaf bir gezinme çubuğunun altında gösterilir. Bu davranış, elbette, yalnızca tablo görünümü doğrudan gezinme çubuğunun altında başlıyorsa istenir, burada durum böyle değildir.
Dikkat edilmesi gereken başka bir şey, iOS'un içerik ekini yalnızca görünüm hiyerarşisindeki ilk görünüm için ayarlıysa UIScrollView
veya alt öğesi (ör. UITableView
Ve UICollectionView
) ise ayarlamasıdır. Görünüm hiyerarşiniz birden fazla kaydırma görünümü içeriyorsa, automaticallyAdjustsScrollViewInsets
yalnızca ilk görünümde ayarlamalar yapar.
Bu davranışı nasıl değiştireceğiniz aşağıda açıklanmıştır:
a) Arayüz Oluşturucu
- Görünüm denetleyicisini seçin
- Açık Özellikler denetçisi
IB'nin öznitelik denetçisinde (bir görünüm denetleyicisi seçildiğinde) varsayılan olarak açık olan "Kaydırma görünümü eklerini ayarla" adlı bir özellik vardır. Bu seçeneğin işaretini kaldırın:
( Dheeraj D'nin izniyle )
Hangi Xcode sürümünün bu seçeneği sunduğundan emin değilim (sürüm notlarında bulamadım), ancak en azından 5.1.1 sürümünde kullanılabilir.
Düzenleme: Karışıklığı önlemek için, bu yorumlarda bahsedilen üçüncü seçenekti
b) Programlı olarak
Bunu ie ekleyin viewDidLoad
( Slavco Petkovski'nin cevabına ve Cris R'nin yorumuna kredi )
// Objective-C
self.automaticallyAdjustsScrollViewInsets = NO;
// Swift
self.automaticallyAdjustsScrollViewInsets = false
c) Bu eski okul öğrencileri için geçerli olabilir
Ekleyerek bunu düzeltebilirsiniz
tableView.contentInset = UIEdgeInsetsZero
//Swift 3 Change
tableView.contentInset = UIEdgeInsets.zero
Veya IB kullanıyorsanız ve gezinme çubuğu şeffaf değilse (ekran görüntüsünden anlatamazsınız)
- Görünüm denetleyicisini seçin
- Açık Özellikler denetçisi
- Görünüm Denetleyicisi seçeneklerinde Kenarları Uzat bölümünde "Üst Çubukların Altında" seçimini kaldırın