私の iPhone アプリには、いくつかの (グループ化されたスタイルの) テーブルがあります (画面の一部にのみ表示され、 で追加されていますInterface Builder
が、 からサブクラス化UITableViewController
されていません)。これらのテーブルは、80% の確率で小さく、画面に収まります。テーブルが画面に収まる場合は、スクロールを無効にして、画面を少しすっきりさせたいと思います。ただし、テーブルが画面からはみ出した場合 (後で行が追加された場合)、スクロールを再度有効にしたいと思います (そうしないと、そのコンテンツが表示されないため)。
これを実行する方法はありますか? わかりません。 実行する方法を知っているのは:
tableView.scrollEnabled = NO;
しかし、これを機能させるには、どこでテーブル オブジェクトのサイズを計算する必要があるのか、あるいは何かを計算する必要があるのかはわかりません。
アップデート
if (table.contentSize.height < table.frame.size.height) {
table.scrollEnabled = NO;
}
else {
table.scrollEnabled = YES;
}
reloadData
テーブルを呼び出した後にこのコードを実行すると、正しいサイズが計算され、機能しているように見えます。
table.frame.size.height
Interface Builder
は画面に表示されるオブジェクトの実際のサイズ ( で確認できます) ですが、table.contentSize.height
はヘッダー、フッター、および各セルの高さを合計した高さです。
ベストアンサー1
設定したいと思います
tableView.alwaysBounceVertical = NO;