Скрытие UIView занимает много времени
Добрый день...!
Я хочу просто скрыть UIView (называемый "secondView"), нажав кнопку внутри него. Проблема, с которой я сталкиваюсь, заключается в том, что когда я нажимаю кнопку, требуется много времени (около 20 секунд) для выполнения метода и скрытия его суперпредставления, и я просто вижу эту проблему на симуляторах iphone, работающих на iOS 11.2. Я тестировал на iOS 9.0 симулятор iphone и iphone 5 iOS 10.3 реальное устройство. К сожалению, у меня нет реального устройства с установленной iOS 11.2 для тестирования.
это метод, который я использую, чтобы скрыть UIView:
-(IBAction)hideSecondView:(id)sender{
secondView.hidden = YES;
}
В соответствии с темой " Показ скрытого просмотра очень медленно" и ответом @Duncan C я изменил свой код следующим образом:
-(IBAction)hideSecondView:(id)sender{
dispatch_async(dispatch_get_main_queue(), ^{
secondView.hidden = YES;
});
}
Но проблема все еще есть:(
Любая помощь будет оценена.
Update1:
Как фрагмент, улучшенный @drct, я проверил, есть ли доступ к UIKit в потоках, отличных от main. Но не ловить!
У меня есть простой тестовый проект, и проверка основного потока показывает, что приложение не создает никаких других протекторов. Я приостановил выполнение прямо на время задержки скрытия secondView.
1 ответ
@Duncan C написал хороший ответ, описывающий вашу проблему.
У вас может быть другой код, который пытается выполнять вызовы UIKit из фонового потока, когда вы не знаете об этом.
Можете ли вы проверить, что у вас нет других звонков UIKit?