场景:一个UIViewController使用自定义转换来呈现另一个VC。这个VC不占用整个屏幕;它作为第一层的顶层出现。这里的一切都很有效。
现在,呈现的VC想要显示一个UIImagePickerController - 拍摄照片。但是一旦该控制器被解除,第二个VC就会显示为全屏视图:原始转换的效果已经丢失。
我借用别人的UIViewController转换演示代码来快速演示这种效果。一旦你添加了部分屏幕的第二个VC并调出了摄像机视图,解雇它就会给你一个全屏的第二个视图。
我一直无法找到其他人遇到此问题,但其可重复性表明存在框架错误。
答案 0 :(得分:1)
找到解决方案:在显示之前,必须在摄像头VC上设置modalPresentationStyle属性。在我的实例中,我将其设置为UIModalPresentationCustom,这解决了问题:当相机被解除时,底层的自定义过渡边界将被保留。