UIView 角半径在小屏幕上很锐利

UIView corner radius is sharp on small screens

我有一个按钮,我在 ViewDidLoad():

中设置它的圆角半径
self.myBtn.layer.cornerRadius = self.myBtn.frame.size.height / 2
self.myBtn.layer.masksToBounds = true

iPhone X 上的结果很好。截图:

但由于某些原因,在屏幕较小的设备(如 iPhone SE)中,角落非常尖锐,结果不是我想要实现的。截图:

有人知道为什么会这样吗?

谢谢!

尝试在 viewDidAppear 中调用您的代码(或在 viewDidLayoutSubviews 中更好)

您似乎在使用自动版式。而且您的按钮布局似乎取决于视图的布局。 问题是:viewDidLoad 调用时 viewController 的视图大小可能不正确(但在 viewDidAppear 调用之前已更正)。