Benim iphone app birkaç (gruplanmış tarzı) tablolar var (sadece ekranın bir parçası üzerinde ve Interface Builderolsa ile eklenir , alt sınıf değil UITableViewController) zaman% 80 küçük ve ekrana sığacak. Tablo ekrana sığdığında, biraz daha temiz hale getirmek için kaydırmayı devre dışı bırakmak istiyorum. Ancak tablo ekrandan çıkarsa (daha sonra satırlar eklendiğinde), tekrar kaydırmayı etkinleştirmek istiyorum (aksi takdirde bu içeriği göremezsiniz.)
Bunu yapmanın bir yolu var mı? Anlayamıyorum. Yapmayı biliyorum:
tableView.scrollEnabled = NO;
ama emin değilim, ya da ben tablo nesne boyutu ya da bir şey bu işe almak için hesaplamak zorunda.
Güncelleme : İşte sonunda benim için çalışan çözüm:
if (table.contentSize.height < table.frame.size.height) {
table.scrollEnabled = NO;
}
else {
table.scrollEnabled = YES;
}
Bu kodu reloadDatamasaya çağırdıktan sonra çalıştırın ve doğru boyutları hesaplar ve çalışıyor gibi görünüyor.
table.frame.size.heightInterface Builderekranda görüntülenen nesnenin gerçek boyutudur (bunu içinde görebilirsiniz ), oysa table.contentSize.heightyükseklik, altbilgi ve toplanan her hücrenin yüksekliği.

