MBProgressHUD блокирует взаимодействие с пользователем

Мое приложение имеет MBProgressHUD на экране, в то время как CLLocationManager получает текущее местоположение пользователя в отдельном потоке в фоновом режиме. Иногда процесс определения местоположения начинает занимать так много времени, и, очевидно, я хотел бы, чтобы пользователь сам решал, покидать экран или нет. Проблема в том, что пользовательский интерфейс кажется заблокированным MBProgressHUD, поэтому пользователь не может нажать кнопку "Назад".

Есть ли какой-либо проект реализации для решения этой проблемы?


person vilelam    schedule 27.01.2013    source источник


Ответы (1)


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

Цель-C

theHUD.userInteractionEnabled = NO;

Swift 4.x

theHUD.isUserInteractionEnabled = false
person Gabriele Petronella    schedule 27.01.2013
comment
означает ли это, что просмотры за ним будут получать события? как отключить лайки за худом? - person Junchao Gu; 07.07.2015
comment
Просто отключите их, пока не будут получены данные, которые загружает HUD? - person Jack Nutkins; 27.01.2016
comment
Установив для isUserInteractionEnabled значение false, вы указываете элементу управления передавать событие касания в родительское представление. - person Javier Calatrava Llavería; 01.06.2017