【问题标题】:Circular button becomes rounded rectangle after size increase圆形按钮大小增加后变为圆角矩形
【发布时间】:2014-12-15 04:57:35
【问题描述】:

我在我的 iOS 应用程序中创建了一个圆形按钮,在更改了自动布局宽度和高度约束(使按钮更大)之后,它现在是一个圆角矩形而不是圆形。

我在 Main.storyboard 中定义了一个 UIButton,在 ViewController.swift 中定义为 IBOutlet ...

@IBOutlet weak var button: UIButton!

viewDidLoad() 中,我正在运行时更改 .cornerRadius 以使其成为一个圆圈...

button.layer.cornerRadius = button.frame.size.width / 2.0

在我更改 UIButton 的高度/宽度之前,这种方法对我的应用完美有效。我很困惑为什么按钮不再是一个圆圈。有什么想法吗?

【问题讨论】:

  • 如果你在viewDidLayoutSubviews 中这样做,它是否有效?
  • 是的... UIButton 又是圆形的。我仍然很困惑为什么它以前在 viewDidLoad() 中工作,现在需要 viewDidLayoutSubviews()

标签: ios swift uikit


【解决方案1】:

自动布局发生在viewDidLoad 之后,因此您需要将调整移动到viewDidLayoutSubviews 以便将帧大小设置为正确的大小。

【讨论】:

  • 啊,非常有道理。当我输入我的评论时,我立即想到了添加的自动布局约束。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
相关资源
最近更新 更多