Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用3D Touch Peek&;时,以模式呈现提交视图控制器,而不是按;流行音乐_Ios_Swift_Ios9_3dtouch - Fatal编程技术网

Ios 使用3D Touch Peek&;时,以模式呈现提交视图控制器,而不是按;流行音乐

Ios 使用3D Touch Peek&;时,以模式呈现提交视图控制器,而不是按;流行音乐,ios,swift,ios9,3dtouch,Ios,Swift,Ios9,3dtouch,我有一个应用程序,允许用户在UICollectionViewController中查看照片,该应用程序嵌入在UINavigationController中。当用户点击查看照片时,我会在全屏(而不是默认的全屏)上显示一个新的视图控制器。我现在想实现一个3D触控提交(pop)视图控制器,使其与用户点击照片时的显示一模一样。问题是,当弹出到全屏照片时,幕后的iOS正在堆栈上按下此视图控制器-导航栏仍然可见,它添加了一个返回按钮以返回到上一屏幕。我不希望这样,我希望提交视图控制器以模态方式呈现 我注意到

我有一个应用程序,允许用户在
UICollectionViewController
中查看照片,该应用程序嵌入在
UINavigationController
中。当用户点击查看照片时,我会在全屏(而不是默认的全屏)上显示一个新的视图控制器。我现在想实现一个3D触控提交(pop)视图控制器,使其与用户点击照片时的显示一模一样。问题是,当弹出到全屏照片时,幕后的iOS正在堆栈上按下此视图控制器-导航栏仍然可见,它添加了一个返回按钮以返回到上一屏幕。我不希望这样,我希望提交视图控制器以模态方式呈现

我注意到,如果我移除导航控制器,iOS将以模态方式呈现提交视图控制器,而不是按下。但我无法移除我的导航控制器,它仍然只是全屏显示,而不是全屏显示

当原始视图控制器嵌入到导航控制器中时,如何更改默认行为,使提交视图控制器在全屏上以模式显示,而不是推到堆栈上?

previewingContext:commitViewController:
中配置提交视图控制器时,我已尝试将
modalPresentationStyle
设置为
.OverFullScreen
。这似乎没有任何区别

当前行为是一个问题,原因如下:
-我在整个屏幕上呈现,以便底层视图控制器在下面仍然可见,模糊了。当它被推动时,这种效果无法实现。

-我使用
UIViewControllerTransitioningDelegate
,使用自定义的转换来呈现全屏照片,并且在关闭时也会转换。推送后取消此功能时,它只执行默认的pop动画,而不是我的自定义动画。

解决了这个问题!只需将
modalPresentationStyle
设置为
。全屏显示
,非常重要的是,不要在
previewingContext:commitViewController:
中调用
showViewController
。简单。不敢相信我在发布之前没有看到这一点。:)