Обновить элемент управления со скрытой панелью навигации

Позвольте мне начать с того, что я реализовал элемент управления обновлением во всем приложении, над которым я работаю, и понимаю, как он работает при использовании внутри контроллера навигации с видимой панелью навигации. В частности, мой вопрос заключается в том, как использовать его, когда панель навигации скрыта. У меня есть контроллер представления, который является корневым контроллером представления (не уверен, что это имеет значение) контроллера навигации, и в хуке viewWillAppear я скрываю панель навигации. Функциональность управления обновлением работает, когда пользователь тянет вниз, но вы вообще не видите индикатор. Есть ли хорошие решения для решения этой проблемы?

Вот код, который добавляет элемент управления обновлением в подкласс scrollview:

self.refreshDelegate = delegate
self.refreshControl = UIRefreshControl()
self.refreshControl?.tintColor = .white
self.refreshControl?.addTarget(self, action: #selector(triggerRefresh), for: .valueChanged)

person Cole James    schedule 18.09.2019    source источник
comment
Ваш вопрос: когда навигация скрыта, элемент управления обновлением времени исчезает или когда панель навигации видна, элемент управления обновлением времени исчезает?   -  person Ekramul Hoque    schedule 18.09.2019
comment
Когда панель навигации скрыта, элемент управления обновлением также скрыт   -  person Cole James    schedule 18.09.2019
comment
где вы использовали его с scrollView или tableView или где?   -  person Ekramul Hoque    schedule 18.09.2019
comment
Это UIScrollView   -  person Cole James    schedule 18.09.2019
comment
Здесь, в моем примере проекта, он работает !! не прячусь !! Где вы создаете экземпляр RefreshhControll!   -  person Ekramul Hoque    schedule 18.09.2019
comment
Можете выложить решение?   -  person Cole James    schedule 18.09.2019


Ответы (1)


Была такая же проблема, похоже, ошибка iOS.

Решение, которое я нашел:

  1. Сделать панель навигации скрытой первой:
self.navigationController?.setNavigationBarHidden(true, animated: false)
  1. После установите контроль обновления для вашей прокрутки:
scrollView.refreshControl = yourRefresh

Итак, порядок важен. С помощью этого решения элемент управления обновлением отображается, а панель навигации скрыта.

person Mikhail Vasilev    schedule 05.11.2020