SVProgressHUD не отображается при использовании setContainerView

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

Я использовал его некоторое время и не имел проблем без пользовательских представлений контейнера.

Любые идеи ?

ИЗМЕНИТЬ

Например, это работает (показывает прогресс):

func download() {
    SVProgressHUD.show()
    User.downloadAllUsers { (user) in
        //Doing things
        DispatchQueue.main.async {
            //Updating UI
            SVProgressHUD.dismiss()
        }
    }
}

Но это не работает (прогресс не отображается)

func download() {
    SVProgressHUD.setContainerView(loadingContainerView)
    SVProgressHUD.show()
    User.downloadAllUsers { (user) in
        //Doing things
        DispatchQueue.main.async {
            //Updating UI
            SVProgressHUD.dismiss()
        }
    }
}

person Skaal    schedule 10.07.2017    source источник
comment
одна мысль - в то время как SVProgressHUD был просто потрясающим в свое время: возможно, будет справедливо сказать, что в нем больше нет необходимости. iOS действительно значительно продвинулась вперед.   -  person Fattie    schedule 10.07.2017
comment
добавьте проверенный код и назовите его фоном   -  person karthikeyan    schedule 10.07.2017
comment
@Fattie Вы имеете в виду, что это устарело? Или что сейчас существуют лучшие библиотеки?   -  person Skaal    schedule 10.07.2017
comment
@karthikeyan Я уже называю это фоном, посмотрите мое редактирование, я не понимаю, почему это не работает, когда я меняю вид на свой собственный вид.   -  person Skaal    schedule 10.07.2017
comment
comment
Что ж, написанное на языке C не означает, что оно устарело. Я также использую Lottie, мощный инструмент, выпущенный AirBnB в начале 2017 года и написанный на языке C, поэтому я не понимаю, почему вы говорите, что он устарел.   -  person Skaal    schedule 10.07.2017
comment
Привет @Skaal. Это не устарело. Теперь, когда в iOS есть представления контейнеров, это довольно бессмысленно — просто использовать представление контейнера в 1000 раз проще. И в iOS теперь есть ссылки на раскадровку, вы можете добавить новое представление поверх одной строки кода (ну, пару!). Раньше мы постоянно использовали SVProgressHUD в качестве основного элемента работы iOS, но это день прошел - теперь это только добавляет бессмысленных осложнений (как вы можете видеть).   -  person Fattie    schedule 10.07.2017
comment
@Fattie Вы имеете в виду, что больше не используете загрузчики? Отображение только представлений поверх других представлений при загрузке данных?   -  person Skaal    schedule 10.07.2017
comment
привет @Skaal Я не уверен, что ты имеешь в виду под загрузчиками - ? Что касается отображения представлений поверх других представлений, каждая вещь в iOS — это вопрос отображения представлений поверх других представлений. Когда я хочу вызвать счетчик или термометр, да, я просто использую представление контейнера, или в настоящее время вы можете просто использовать StoryboardID для создания экземпляра чего угодно из любого места. почти каждая вещь в приложении для iOS теперь представляет собой представление контейнера, это просто основной способ создания приложений. Итак, если у вас есть экран с пятью элементами управления, ручками, списками или чем-то еще — все они представляют собой просто контейнерные представления....   -  person Fattie    schedule 10.07.2017
comment
... и, конечно, если вам нужен термометр сверху, я просто использую представление контейнера (или, как я говорю, просто создаю его экземпляр из идентификатора раскадровки - тогда вы можете легко использовать тот же самый в любом месте). введение в containerViews несколько лет назад, когда они стали основным способом создания приложений для iOS. /а>   -  person Fattie    schedule 10.07.2017
comment
просто для ясности для тех, кто гуглит, вызов setContainerView, который является частью старого пакета SVProgressHUD, не имеет абсолютно никакого отношения к обычным представлениям контейнеров в iOS.   -  person Fattie    schedule 10.07.2017
comment
Большое спасибо за вашу точность @Fattie, как вы упомянули, я буду исследовать способ контейнера вместо счетчиков в своем приложении. Я уже использовал его, но не для отображения других представлений во время загрузки моих данных.   -  person Skaal    schedule 10.07.2017
comment
может как-то поможет!   -  person Fattie    schedule 10.07.2017


Ответы (1)


Чисто FWIW, в вашем примере кода, я думаю, вы отклоняете в конце каждой операции, а не в конце всех операций... Я полагаю.

Вы, вероятно, использовали бы DispatchGroup в качестве решения.

Краткое руководство по использованию DispatchGroup выходит за рамки этого QA.

person Fattie    schedule 10.07.2017
comment
это была конкретная проблема, @Skaal? при удаче ? - person Fattie; 11.07.2017
comment
Хммм, нет, потому что даже не закрывая его, он не появляется :s - person Skaal; 11.07.2017