我有一个小型应用程序,其中包含带有UIImageView的视图控制器。当用户点击屏幕时,将向桌面视图控制器(模型)显示一个自定义过渡。过渡将UIBlurEffectview添加到呈现的tableview中。理想的效果是在模糊图像上显示UITableView。
呈现表格视图时,它会瞬间显示模糊视图。但是,一旦完成块退出(在presentViewController:animated:completion上),视图就会变成全黑。
完成块退出之前的示例:
完成块退出后:
这是segue代码:
UIViewController *sourceController = self.sourceViewController;
UIViewController *destinationController = self.destinationViewController;
UIVisualEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *blurView = [[UIVisualEffectView alloc]initWithEffect:blurEffect];
blurView.frame = destinationController.view.frame;
[destinationController.view setOpaque:NO];
[destinationController.view setBackgroundColor:[UIColor clearColor]];
[destinationController.view insertSubview:blurView atIndex:0];
[destinationController setModalPresentationStyle:UIModalPresentationFullScreen];
[sourceController presentViewController:destinationController animated:NO completion:^{
NSLog(@"Completed");
}];
我有点想去哪里,我知道在完成控制器被调用之前的最后一个调用是所提供控制器上的viewDidAppear,那就是什么都没有改变。任何帮助是极大的赞赏。
最佳答案
找到了解决方案。如果您使用的是Modal segue,则需要将演示文稿从默认设置为全屏显示。