Подтвердить что ты не робот

Каковы ваши любимые трюки UITableView/UITableViewCell?

UITableView - очень мощный класс, обеспечивающий много видов навигации и предпочтений на iPhone. Многие люди придумали полезные советы, трюки и образцы UITableView:

  • различные способы использования Interface Builder для ячеек таблицы
  • как создать ячейки стиля предпочтения
  • обеспечение хорошей скорости прокрутки.
  • и др.

Пожалуйста, разместите свои любимые советы по использованию UITableView, по одному вопросу на вопрос. Я начну с публикации тех, которые я нашел в Qaru и те из моих закладок.

4b9b3361

Ответ 1

Вы когда-нибудь задавались вопросом, что действительно делает UITableViewController?

  • В viewWillAppear он снимает выделение с выбранных строк с помощью animated:YES.

    Это, кстати, поэтому, когда вы перемещаетесь в UINavigationController, строка, которую вы ранее касались, красиво отменена с помощью анимации. Когда вы переместили новый контроллер представления в UINavigationController, вы оставили выбранную строку. Когда вы поместите его и вернитесь к представлению таблицы, viewWillAppear запускает и отменяет выделение строки. UINavigationController даже не знает об этом.

  • В viewWillAppear он вызывает reloadData, если в представлении таблицы нет строк.

  • В viewDidAppear он вызывает flashScrollIndicators.

  • Он контролирует появление и исчезновение клавиатуры и изменение размера таблицы так, чтобы при нажатии текстового поля в виде таблицы она остается видимой после появления клавиатуры.

Если вам не нужно поведение контроля клавиатуры, достаточно легко сделать все остальное самостоятельно, если вам нужно.

Ответ 4

Если вы хотите удалить разделительные линии, используйте это:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

Ответ 5

Чтобы обеспечить хорошую прокрутку производительности, важно избегать прозрачности в любом элементе, если это возможно - поэтому, если вы создаете пользовательские ячейки, они становятся непрозрачными и правильно устанавливают фон.

Вы можете использовать инструмент Core Animation Performance Tool, чтобы визуально видеть, сколько прозрачности вы делаете в ячейке, - вы должны работать на устройстве, чтобы использовать этот инструмент.

Ответ 6

Реализация таблиц сгруппированных в стиле предпочтений: Three20 библиотека (извлеченная из приложения iPhone для iPhone) имеет набор готовых ячеек, которые содержат различные элементы управления.

(Не уверен, что вы хотите их использовать). Три20 немного страдает от "не изобретенного здесь" и пытается подклассировать и расширять все, поэтому добавление его добавляет в ваш проект немало беспорядков. по крайней мере, вы можете использовать его в качестве примера.)