UIPopoverPresentationController调暗背景变暗

Sas*_*i M 4 xcode objective-c uipopovercontroller ios8

我想要较深的背景暗色UIPopover。我知道这可以通过继承来实现UIPopoverBackgroundView所提到 这里,但我正在寻找任何简单的方法来做到这一点。

PS 我使用的是Objective C而不是Swift

Tre*_*vor 6

斯威夫特4

我只是遇到了同样的问题,发现了与jimmyjudas类似的解决方案。

在显示为弹出框的viewController中:

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.presentingViewController?.view.alpha = 0.3
    }

    override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        self.presentingViewController?.view.alpha = 1
    }
Run Code Online (Sandbox Code Playgroud)

  • 非常酷和简单的答案。我喜欢。如果有视图动画会更好: UIView.animate(withDuration: 0.5,animations: { self.presentingViewController?.view.alpha = 0.5 }) (2认同)