Обновление цвета фона заголовка раздела UITableView - PullRequest
0 голосов
/ 02 октября 2018

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

Приложение имеет две вкладки: главный экран (с контроллером навигации) и вкладку настроек (один UIViewController).Когда пользователи изменяют цвет темы со страницы настроек и возвращаются на главный экран (т. Е. Переключают вкладки), цвет фона заголовков разделов в UITableView не обновляется.

Я использую tableView(_ tableView: UITableView, viewForHeaderInSection section: Int), чтобы установитьцвет фона заголовков разделов, но, видимо, этот метод не вызывается, когда пользователь переключается между вкладками.

Мне нужно использовать контроллер навигации (т. Е. Перейти к другому представлению и вернуться на главный экран), чтобы обновить цвета заголовка раздела UITableView.

Как обновить цвета, когдапользователь возвращается с вкладки настроек на главный экран?

Я пользуюсь Swift 4.1

Спасибо

1 Ответ

0 голосов
/ 03 октября 2018

Правильным решением для вашей задачи является использование уведомления.Когда пользователь обновляет настройку, используйте NotificationCenter, чтобы опубликовать уведомление, такое как «изменена цветовая схема».

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...