我有一个小应用程序,它包含一个带有UIImageView的视图控制器。当用户点击屏幕时,呈现具有自定义转换的tableview控制器(模型)。转换将UIBlurEffectview添加到呈现的tableview。所需的效果是在模糊图像上显示UITableView。
当显示tableview时,它会显示瞬间的模糊视图。但是,一旦完成块退出(在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,并且没有改变任何东西。非常感谢任何帮助。
答案 0 :(得分:1)
找到解决方案。如果您正在使用Modal segue,则需要将Presentation从默认设置为全屏。