我正在更新我的应用程序,并将UIButton
s更新为使用UIButton.Configuration
。我将系统按钮切换为默认的普通配置样式,但惊讶地发现按钮高亮显示状态几乎不明显。当你点击传统的系统按钮时,它的alpha值会降低很多,表明它正在被按下,所以很容易知道当你释放触摸这个按钮将被触发。不幸的是,与平原按钮配置,高亮状态很难看到,因为外观几乎没有变化。有没有办法让这个高亮的行为像所有其他按钮,如UIBarButtonItem
s?
let oldButton = UIButton(type: .system)
oldButton.setTitle("System Button", for: .normal)
oldButton.frame = CGRect(x: 50, y: 100, width: 150, height: 30)
view.addSubview(oldButton)
let newButton = UIButton(configuration: {
var config = UIButton.Configuration.plain()
config.title = "Plain Button"
return config
}())
newButton.frame = CGRect(x: 50, y: 150, width: 150, height: 30)
view.addSubview(newButton)
字符串
这是系统按钮的突出显示状态:
的数据
这是普通按钮的突出显示状态:
的
1条答案
按热度按时间kcwpcxri1#
这就是
titleTextAttributesTransformer
的作用。使用它,您可以向运行时描述您希望在按钮的特定状态下(例如突出显示时)执行的操作。示例:字符串
您可以随意调整“魔法数字”
0.3
来满足您的口味。(This可能看起来工作量很大,但是如果你定义了一个基本按钮并从它派生出你的应用的所有其他按钮,你只需要做一次。在我们的应用中,我们已经定义了一个从基本按钮派生出的整个按钮样式级联。)