如何在PopoverView中删除圆角?

Mic*_*ael 3 xcode cornerradius popover ios

我构建了一个自定义的Popoverview,但无法删除内容的圆角.

试图.layer.cornerRadius = 0.0在几乎所有的视图中设置,但没有成功.

图片链接:自定义弹出窗口

红色边框是用于初始化UIPopoverController的UIViewController,绿色是自定义UIPopoverBackgroundView的背景.

Lor*_*olt 7

从这个帖子回答:UIView默认样式有圆角?

没有支持的方法可以使UIPopoverController内部的视图没有圆角.UIPopoverController的内部代码将视图添加到具有剪切到边界的圆角的视图.

可能有一种hackish方式,即等到显示UIPopoverController,然后遍历视图的所有父级并将它们全部设置为cornerRadius = 0; 和clipsToBounds = NO;,但即使你找到一个解决方案,它可能与所有iOS版本都不兼容,如果Apple将来更改了UIPopoverController的一些内部代码,那么你的解决方案可能会中断.

如果您真的想要这样做,那么最好的方法是创建自己的类,模仿UIPopoverController功能.

  • 最后让它工作,用它自己的`.presentPopoverFromRect`方法构建一个Custom UIPopoverController,调用`[super presentPopoverFromRect:]`然后设置`self.myViewController.view.superview.layer.cornerRadius = 0.0;`clipsToBounds = NO似乎不需要 (3认同)