UIPopoverPresentationController调暗背景更暗

时间:2015-07-24 05:47:24

标签: objective-c xcode ios8 uipopovercontroller

我想为UIPopover设置较暗的背景暗色。我知道这可以通过继承UIPopoverBackgroundView来实现here,但我正在寻找任何更简单的方法来实现这一点。

P.S。 我使用的是Objective C而不是Swift

4 个答案:

答案 0 :(得分:3)

最简单的方法是在呈现弹出框之前简单地调用new并在弹出窗口被解除时将其设置回1.0。

答案 1 :(得分:3)

Swift 4

我遇到了同样的问题,找到了类似于jimmyjudas的解决方案。

在显示为popover的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
    }

答案 2 :(得分:1)

由于用户要求使用 Obj C 解决方案 - 在弹出窗口中显示的 VC 中使用

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    self.popoverPresentationController.containerView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.4];
}

答案 3 :(得分:0)

UIPopover没有后台属性,因为它是NSObject的子类 没有自定义视图属性 所以你可以改变它的内容颜色 -

return new List<DesignWiseTotal>
{  
   new DesignWiseTotal
   {
       GrandTotal = query.Where(oi => oi.Product.Designer_Id == customerId)
                         .Sum(oi => oi.PriceExclTax);
   }
};
相关问题