У меня есть этот бит кода, который я использую для переключения контроллера корневого представления с приятной анимацией, он работал в течение нескольких месяцев ... но затем случайно переставал работать.UIView AnimateWithDuration никогда не достигает блока завершения
UIView snapshot = [self.window snapshotViewAfterScreenUpdates:YES];
[viewController.view addSubview:snapshot];
self.window.rootViewController = viewController;
NSLog(@"check point 1");
[UIView animateWithDuration:0.3 animations:^{
NSLog(@"check point 2");
snapshot.layer.opacity = 0;
NSLog(@"check point 3");
snapshot.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.5);
NSLog(@"check point 4");
} completion:^(BOOL finished) {
NSLog(@"check point 5");
[snapshot removeFromSuperview];
NSLog(@"check point 6");
}];
Я поставил эти контрольно-пропускные пункты, все через контрольные точки 4 триггеров .., но 5 и 6 никогда не срабатывали. Настолько странно для меня, потому что даже если это не удалось, блок завершения все равно должен срабатывать.
В новом загрузочном контроллере корневого представления запрашивается разрешение пользователя на сбор его или ее местоположения. Так что, может быть, когда появится этот всплывающий экран, это разрушит этот переход? Однако это не смущало.
работал отлично! спасибо – Gukki5
@ Gukki5, рад, что это помогло :) –