Intereting Posts
Устранение проблем с первым респондентом с помощью UIToolbar / UITextField Как отправить задание на печать через React Native Как реализовать AFNetwoking interagtion в iOS? Почему NSLogs в Xcode 8 отключены? Управление URL-адресом подписки на iOS не работает как хранить в базе данных sqlite от json Прогресс HUD не отображается на правильном контроллере View Интеграция API Google Translate в приложении iOS Приложение получает сообщение об ошибке при выпуске объекта массива в xcode componentsSeparatedByString возвращает 1 объект, когда строка пуста iOS программно созданное действие UIButton перестает работать после 3-го UIView onwards Как добавить объекты в массив по определенному индексу в блоке завершения асинхронизации с помощью Swift Как выполнить действие только тогда, когда захват сделан в iphone image-Picker, когда вы когда-либо нажимаете кнопку захвата Как периодически очищать NSCache в быстром? cocoalibspotify ошибка при попытке воспроизведения определенных треков

Проблемы с изменением размера заголовка UITableView с анимацией

Я привязываю, чтобы анимировать высоту заголовка моего табличного представления до 0 его. Текущий код, который я использую:

var newRect = headerView.frame newRect.size.height = 0 UIView.animateWithDuration(0.6) { self.headerView.frame = newRect } 

headerView – это пользовательский UIView и используется так:

  func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { return headerView } 

Когда я запускаю код, он, кажется, headerView высоту headerView до половины его размера, а не 0. Любые идеи, что я могу делать неправильно здесь? Любые указатели были бы замечательными.

Вам просто нужно использовать heightForHeaderInSection перегрузки heightForHeaderInSection и UITableView . Ниже приведен пример того, как это сделать. Это фиктивный пример (когда использование нажимает на ячейку, появляется заголовок раздела (dis).

 var displayExpandedHeader = true let expandedHeight = CGFloat(50) let colapsedHeight = CGFloat(0) func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { return headerView } func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { tableView.beginUpdates() displayExpandedHeader = !displayExpandedHeader tableView.reloadSections(NSIndexSet(index: indexPath.section), withRowAnimation: (!displayExpandedHeader) ? .Top : .Bottom) tableView.endUpdates() } func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { return (displayExpandedHeader) ? expandedHeight : colapsedHeight }