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

Замедленный или скрытый заголовок раздела UITableView при переключении с одного источника данных на другой и в режиме реального времени UITableView

Я делаю просмотр профиля на iOS, который имеет три вкладки, например, приложение Twitter. Я использую одно табличное представление, и когда пользователь нажимает на эти вкладки, я перезаряжаю его из других источников данных. Но я хочу, чтобы заголовок секции находился на вершине независимо от этих моделей источников данных. Есть ли способ достичь этого?

Иногда, когда пользователь нажимает на кнопку заголовка раздела, чтобы переключить источник данных таблицы и перезагружать снова, но заголовок заголовка секции либо становится скрытым, либо неуместным из его первоначальной верхней позиции. Его странный вид ошибки. Любой намек на то, что происходит Вот?

Изменить: - Одна важная вещь - это то, что я тоже хочу обновить.

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

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

4b9b3361

Ответ 1

вы можете создать уникальный вид для хранения заголовка раздела, а затем поместить головку представления контроллера. Это может достичь вашей цели.

Ответ 2

Но я хочу, чтобы заголовок секции находился на вершине независимо от этих моделей источников данных. Есть ли способ достичь этого?

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

Вы также можете проконсультироваться с @WolfLink и поместить представление над табличным представлением для достижения того же.

Это зависит от того, как вы используете свои разделы таблицы. См. Этот вопрос SO для добавления заголовка в представление таблицы.


ИЗМЕНИТЬ

Если вы хотите, чтобы текущее сечение всегда находилось в верхней части супер-представления, вы должны переустановить иерархию представлений контроллера, чтобы вид заголовка раздела был реализован вне стороны таблицы.

ViewController subviews

        ---> view containing your three buttons(Current section header view)
        ---> table view
        ---> toolbar

Таким образом, даже если пользователь прокручивает представление таблицы, три вида кнопок будут оставаться в верхней части экрана.


Ответ 3

Я думаю, что это проблема с прокруткой, у меня была аналогичная проблема раньше, UITableView построен поверх UIScrollView, а прокрутка имеет метод setContentOffset, вызывается это после перезагрузки и устанавливает смещение на (0,0)

Ответ 4

Вы можете использовать эту библиотеку: https://github.com/toandk/DTTableView

В этом примере есть табличный вид DTParallaxTableView инициировано с заголовком: DTParallaxHeaderView и UIVIew (это может быть панель вкладок, как в этом примере).

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

Или найдите здесь и найдите тот, который соответствует вашему прецеденту! https://www.cocoacontrols.com/search?q=pull