tôi trình bày một UIViewController có chứa một UIVisualEffectView như sau:UIVisualEffectView trong iOS 10
-(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;
}
}
Như bạn thấy, tôi đang sử dụng UIModalPresentationStyleOverFullScreen để khi bộ điều khiển xem hình ảnh bị mờ xuất hiện, mờ sẽ được 'áp dụng' vào nội dung của bộ điều khiển xem đang trình bày nó; segue có kiểu chuyển đổi Cross Dissolve.
Hiệu ứng có vẻ như mong đợi. Tuy nhiên, trong iOS 9 bản trình bày mượt mà hơn trong iOS 10. Trong iOS 10 khi bộ điều khiển xem xuất hiện nó có vẻ giống như một hoạt ảnh 2 bước, trong khi iOS 9 làm mờ được áp dụng ngay lập tức.
Một bức tranh trị giá một ngàn chữ vì vậy tôi tải lên một đoạn video cho thấy hành vi kỳ lạ này:
UIVisualEffectView iOS 9 vs iOS 10
Câu hỏi của tôi là: Làm thế nào tôi có thể trình bày các điều khiển xem trong iOS 10 vì nó được trình bày trong iOS 9?
Tuyệt vời! Hoạt động tuyệt vời. Tôi đã sử dụng cùng một dự án tôi đã sử dụng cho video mà tôi đã đăng và tải nó lên GitHub cùng với giải pháp của bạn. Cảm ơn bạn. > https://github.com/Axort/BlurTest-iOS10 – Axort
Tôi đề xuất sử dụng hoạt ảnh mùa xuân và thời lượng là 0,5. Đây là những gì người bản địa làm. –
@Bạn có phiên bản nhanh không? – user2722667