【发布时间】:2018-02-16 02:49:37
【问题描述】:
我想以编程方式自定义UIButton。我的代码从这里开始:
class MyButton: UIButton {
override func awakeFromNib() {
super.awakeFromNib()
layer.shadowRadius = 5.0
...
}
}
现在我想为按钮定义一个恒定的宽度和高度,如何在代码中实现?
【问题讨论】:
-
你尝试使用 self.frame 属性了吗?
-
首先:不要。尽可能使用自动布局。其次,浏览文档,您将立即看到
UIButton的可用属性,名称告诉您该由谁来做。 -
@DávidPásztor,但是我有一个独特的样式按钮适用于整个项目,使用自动布局意味着我在任何地方都有我需要设置高度约束的按钮。所以,在我的情况下,我认为以编程方式自定义按钮比自动布局更好。
-
所以你真的希望你的自定义按钮在所有屏幕上都具有相同的大小,无论屏幕是 iPhone SE 还是 iPad Pro 12.9?这很少是一个好主意。您也可以通过编程方式设置 Autolayout 约束,因此您无需在每次创建新按钮时都重新设置。