UIVisualEffectView in iOS 10

Ich präsentiere einen UIViewController, der eine UIVisualEffectView enthält, wie folgt:

-(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;
    }
}

Wie Sie sehen, verwende ich den UIModalPresentationStyleOverFullScreen, damit die Unschärfe beim Anzeigen des Ansichtscontrollers auf den Inhalt des Ansichtscontrollers angewendet wird, der sie anzeigt. Die Überblendung hat einen Cross-Dissolve-Stil.

Der Effekt sieht wie erwartet aus. In iOS 9 ist die Darstellung jedoch weicher als in iOS 10. In iOS 10 erscheint der Ansichts-Controller wie eine Animation in zwei Schritten, während in iOS 9 die Unschärfe sofort angewendet wird.

Ein Bild sagt mehr als tausend Worte, also habe ich ein Video hochgeladen, das dieses seltsame Verhalten zeigt:

UIVisualEffectView iOS 9 vs iOS 10

Meine Frage lautet: Wie kann ich den View Controller in iOS 10 so präsentieren, wie er in iOS 9 dargestellt wird?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage