我有一个CustomPresentationController,它使用自定义动画进行进出动画;
这个特定的控制器被呈现时,大小大约为屏幕的50%,当我呈现它时,我会在presentingViewController中添加一个阴影灰色视图,以增加一些深度。
只有在我点击NavBar中的cancel按钮时,才能解除呈现的presentedViewController,我调用默认的dismiss(:)方法。
我想要实现的是检测是否在presentedViewController之外点击了tap,也许在灰色区域内,以便我可以解除呈现的presentedViewController,就像解除ActionSheet一样,但我尝试过了。让我解释一下我到目前为止尝试过的内容。
我尝试向阴影灰色视图添加UITapGestureRecognizer,但由于我正在呈现不同的控制器,应用程序引擎可能会认为由于阴影视图不在顶级层次结构视图上,因此可能无法访问它,因此会“阻止”识别器-每当我点击它时,手势处理程序都不会触发。
这个特定的控制器被呈现时,大小大约为屏幕的50%,当我呈现它时,我会在presentingViewController中添加一个阴影灰色视图,以增加一些深度。
只有在我点击NavBar中的cancel按钮时,才能解除呈现的presentedViewController,我调用默认的dismiss(:)方法。
我想要实现的是检测是否在presentedViewController之外点击了tap,也许在灰色区域内,以便我可以解除呈现的presentedViewController,就像解除ActionSheet一样,但我尝试过了。让我解释一下我到目前为止尝试过的内容。
我尝试向阴影灰色视图添加UITapGestureRecognizer,但由于我正在呈现不同的控制器,应用程序引擎可能会认为由于阴影视图不在顶级层次结构视图上,因此可能无法访问它,因此会“阻止”识别器-每当我点击它时,手势处理程序都不会触发。
我现在正在实现下滑关闭功能,这很容易实现,但我真的希望点击外部区域也能起到关闭功能。
你有什么建议吗?
应用程序的图像如下: