小编gdo*_*lar的帖子

当呈现的视图控制器被手势解除时如何得到通知?

在某些情况下(iPhone X、iOS 13)可以通过从顶部拉动手势来关闭呈现的视图控制器。

在这种情况下,我似乎找不到通知呈现视图控制器的方法。我错过了什么?

我发现的唯一方法是向呈现的视图控制器的 viewDidDisappear 添加一个委托方法。

就像是:

class Presenting: UIViewController, PresentedDelegate {
    func someAction() {
        let presented = Presented()
        presented.delegate = self
        present(presented, animated: true, completion: nil)
    }
    func presentedDidDismiss(_ presented: Presented) {
        // Presented was dismissed
    }
}

protocol PresentedDelegate: AnyObject {
    func presentedDidDismiss(_ presented: Presented)
}

class Presented: UIViewController {
    weak var delegate: PresentedDelegate?

    override func viewDidDisappear(animated: Bool) {
         ...
         delegate?.presentedDidDismiss(self)
    }
}
Run Code Online (Sandbox Code Playgroud)

也可以通过通知来管理它,使用 vc 子类,但仍然不能令人满意。


extension Notification.Name {
    static let viewControllerDidDisappear = Notification.Name("UIViewController.viewControllerDidDisappear")
}

open class …
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller ios swift

5
推荐指数
2
解决办法
1048
查看次数

由于 VPC Connector 注释,部署 Cloud Run Service 失败

今天部署新的云运行映像失败,并出现以下错误:

ERROR: (gcloud.run.deploy) Annotation 'run.googleapis.com/vpc-access-connector' is not supported on resources of kind 'Service'. Supported kinds are: Revision, Job
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为注释已经有一段时间没有改变了。

google-cloud-platform terraform google-cloud-run

5
推荐指数
1
解决办法
4619
查看次数