【问题标题】:UIView corner radius is sharp on small screensUIView 圆角半径在小屏幕上很锐利
【发布时间】:2023-03-20 02:06:02
【问题描述】:

我有一个按钮,我在ViewDidLoad() 中设置它的圆角半径:

self.myBtn.layer.cornerRadius = self.myBtn.frame.size.height / 2
self.myBtn.layer.masksToBounds = true

在 iPhone X 上效果很好。截图:

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

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

谢谢!

【问题讨论】:

  • @Krunal 还有其他想法吗?
  • 尝试使用 clipsToBounds 而不是 maskToBounds
  • @RavishaHesh 不起作用...
  • 我的猜测是按钮是通过约束设置的,而您正在设置角半径布局完成之前,因此它的计算大小与最后一个。而是在viewDidLayoutSubviews 中做这种事情。

标签: ios iphone swift cocoa-touch uiview


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    相关资源
    最近更新 更多