UIVisualEffectView no iOS 10
Estou apresentando um UIViewController que contém um UIVisualEffectView da seguinte maneira:
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"segueBlur" sender:nil];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([segue.identifier isEqualToString:@"segueBlur"]) {
((UIViewController *)segue.destinationViewController).providesPresentationContextTransitionStyle = YES;
((UIViewController *)segue.destinationViewController).definesPresentationContext = YES;
((UIViewController *)segue.destinationViewController).modalPresentationStyle = UIModalPresentationOverFullScreen;
}
}
Como você pode ver, estou usando o UIModalPresentationStyleOverFullScreen para que quando o controlador de exibição com desfoque aparecer, o desfoque seja 'aplicado' ao conteúdo do controlador de exibição que o está apresentando; o segue tem um estilo de transição Cross Dissolve.
O efeito parece como esperado. No entanto, no iOS 9, a apresentação é mais suave que no iOS 10. No iOS 10, quando o controlador de exibição aparece, parece uma animação em duas etapas, enquanto no iOS 9 o desfoque é aplicado imediatamente.
Uma imagem vale mais que mil palavras, então enviei um vídeo mostrando esse comportamento estranho:
UIVisualEffectView iOS 9 vs iOS 10
Minha pergunta é: como posso apresentar o controlador de exibição no iOS 10, conforme apresentado no iOS 9?