У моєму додатку для 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як висота: заголовок, колонтитул та висота кожної комірки, що додаються разом.

