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
。简单。不敢相信我在发布之前没有看到这一点。:)