我想为UIPopover
设置较暗的背景暗色。我知道这可以通过继承UIPopoverBackgroundView
来实现here,但我正在寻找任何更简单的方法来实现这一点。
P.S。 我使用的是Objective C而不是Swift 。
答案 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);
}
};