【发布时间】:2019-05-22 19:49:17
【问题描述】:
有没有一种方法可以使用 swift 创建一个按钮,并让它使用在 Interface Builder 中拖出按钮时会看到的默认行为?
使用界面构建器创建一个按钮会为文本/标题提供默认的“这是一个交互式元素”蓝色,以及在触摸/点击它时颜色变亮的效果。
仅使用let myButton = UIButton() 快速创建按钮会将文本和背景颜色默认为白色(???)并且没有视觉活动指示。我发现您可以将每个按钮的标题颜色设置为 self.view.tintColor,但只是希望可能有更好的方法来“默认”它。
【问题讨论】:
-
检查其他初始化方法:
init(type:). -
除非您以编程方式覆盖
UIButton,否则您的所有按钮都必须手动更改属性。或者您必须在每个视图中声明按钮的样式。您必须覆盖 AppleUIButton的标准实现,这是一个带有蓝色文本的白色按钮。我不确定故事板上是否有办法做到这一点。 -
我做错了什么吗?在我的示例中,我想要带有蓝色文本和默认交互指示的标准白色背景。相反,我在没有交互指示的情况下获得白色背景上的白色文本。我正在做一个简单的
let myButton = UIButton()self.view.addSubview(myButton)
标签: swift