UIView的默认样式有圆angular?

我正在使用UIPopoverController来显示UIView 。 这个布局有点类似于UISplitViewController所以看起来很奇怪,在“细节视图”上有圆angular,因为它留下了一个小小的空白。 我一直无法find任何有关这个问题的其他人,但这些圆angular似乎是默认的风格。 是否有可能将其删除?

可能有帮助的事情:

  • 我从一个nib文件加载我的视图,但我目前没有更改默认的UIView
  • 我尝试在viewDidLoad设置clipsToBound = NO
  • 我尝试在viewDidLoad设置layer.cornerRadius = 0

这个观点的顶部似乎也有一个影子,但是很难说。 有什么办法可以摆脱所有这些默认样式? 我只想要一个空白的广场。

有没有支持的方式,使您的UIPopoverController视图内没有圆angular。 UIPopoverController的内部代码将您的视图添加到具有剪辑到边界的圆angular视图。

有可能是一个hackish的方式来做到这一点,即等到UIPopoverController显示,然后遍历你的视图的父母的所有,并设置他们都有cornerRadius = 0;clipsToBounds = NO; ,但即使你find了一个解决scheme,它可能不是所有版本的iOS兼容,如果苹果将来更改UIPopoverController的一些内部代码,那么你的解决scheme可能会中断。

如果你真的想这样做,最好的方法是创build你自己的类来模仿UIPopoverController的function。

UIPopoverController默认使用带圆angular的黑色渐变颜色框。 但是,您可以使用自定义类来设置背景视图。 这里尝试下面的链接。

更改popover中的颜色导航控制器

对于任何使用UIPopoverPresentationController人来说,下面的内容应该可以工作。

 override open func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) view.superview?.layer.cornerRadius = 0 }