Leo*_*uez 1 cocoa-touch ios swift
我正在尝试做一个自定义通知视图,该通知视图可以从某个高度滑动到某个高度,但我使用的是UIPresentationController,但问题是在显示第二个VC时未检测到呈现VC的ViewController上的触摸事件。有没有办法做到这一点?
好吧,经过一番努力之后,我得到了答案,发生的事情是,即使您frameOfPresentedViewInContainerView只是屏幕的一小部分,containerView的框架大小也就是整个窗口,所以我只是将containerView的框架更改为frameOfPresentedViewInContainerView与现在您可以与两个控制器进行交互,希望它可以对某人有所帮助。这是一个例子:
class AlertPresentationController: UIPresentationController {
override var frameOfPresentedViewInContainerView: CGRect {
guard let container = containerView else {
fatalError("Error presenting Alert Controller")
}
let frameHeight: CGFloat = presentingViewController.view.frame.height * 0.2
return CGRect(x: 0, y: 0, width: container.frame.width, height: frameHeight)
}
override func presentationTransitionWillBegin() {
containerView?.frame = frameOfPresentedViewInContainerView
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
528 次 |
| 最近记录: |