我正在通过继承 UIPopoverBackgroundView 来制作自定义弹出框背景。我想制作没有圆角的popover。我可以成功创建没有圆角的背景(图片中的红色),但似乎 UIPopoverController 为弹出框的内容添加了一些圆角遮罩(图片中的绿色)。这是我的popover角落的图片:
有什么想法可以克服它吗?
我正在通过继承 UIPopoverBackgroundView 来制作自定义弹出框背景。我想制作没有圆角的popover。我可以成功创建没有圆角的背景(图片中的红色),但似乎 UIPopoverController 为弹出框的内容添加了一些圆角遮罩(图片中的绿色)。这是我的popover角落的图片:
有什么想法可以克服它吗?
我找到了一个简单的解决方案,在弹出内容控制器(您传递给的内容initWithContentViewController
)中添加:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.view.superview.layer.cornerRadius = 0;
}
你可以做一个自己的 PopoverBackgroundView。我从未使用过 UIPopoverBackgroundView,但它可能有一个属性,但否则你可以自己做一个并设置没有圆角的视图。
为此,您可以将绿色更改为清除颜色,然后在弹出视图上添加一个 UIView,使用绿色并将所有其他视图添加为其子视图。(这是一个棘手的方法)