Скрыть панель навигации и переместить заголовки разделов табличного представления

В настоящее время я использую класс https://github.com/telly/TLYShyNavBar, чтобы скрыть панель навигации. при прокрутке он отлично работает и чрезвычайно прост в использовании. Но я использую его на контроллере табличного представления, поэтому, когда я прокручиваю вверх, заголовки разделов не перемещаются, и это выглядит так.

введите здесь описание изображения

Как я могу переместить заголовки разделов в верхнюю часть экрана. Или используйте другой способ перемещения панели навигации при прокрутке.

Спасибо за помощь заранее.


person iqueqiorio    schedule 04.11.2014    source источник
comment
проблема существует и у меня. Надеюсь, вы найдете исправление.   -  person GoGreen    schedule 23.03.2015


Ответы (2)


Вы можете использовать первую TableViewCell в качестве настраиваемой панели навигации, добавив кнопки в представление содержимого, содержащееся в TableViewCell. Он будет прокручиваться вверх, как и любой другой TableViewCell. TableViewCells в основном являются оболочкой для UIView. Вы можете изменить этот UIView, как и любой другой UIView. Каждая TableViewCell имеет свойство, называемое contentview, которое является основным UIView в ячейке.

Например, вы можете добавить кнопку в первую ячейку, которая отправляет следующее сообщение [self.navigationController popViewControllerAnimated:YES];

Вы можете назвать эту кнопку "Назад"

https://developer.apple.com/library/IOs/documentation/UIKit/Reference/UITableViewCell_Class/index.html#//apple_ref/occ/instp/UITableViewCell/contentView

person Nick Wilkerson    schedule 04.11.2014
comment
нет ли способа просто переместить заголовки разделов? - person iqueqiorio; 04.11.2014
comment
Заголовки разделов должны перемещаться автоматически. Если это не так, ваша категория ломает UITableViewController. - person Nick Wilkerson; 04.11.2014
comment
Это очень грязное решение, и я предлагаю никогда не делать этого так. - person GoGreen; 23.03.2015

Я нашел решение для этого!
Проблема в том, что заголовок раздела остается равным top значению contentInset. Даже если navigation bar не видно, а tableView видно внизу, contentInset останется прежним.

Вам нужно будет изменить библиотеку, чтобы увеличить или уменьшить значение top для contentInset в соответствии со смещением прокрутки. Попробуйте это, и вы можете опубликовать это как запрос на включение в github.

Надеюсь это поможет! :)

person GoGreen    schedule 23.03.2015