提问人:Kibernetik 提问时间:10/14/2021 最后编辑:Kibernetik 更新时间:10/14/2021 访问量:1274
如何为 UIButton 设置 UIBackgroundConfiguration?
How to set UIBackgroundConfiguration for UIButton?
问:
我正在努力更改 UIButton 的背景属性。 可以使用Interface Builder中的“后台配置”设置轻松修改它们:
但我不明白如何以编程方式设置它们。
例如,我尝试这样做:
UIBackgroundConfiguration * config = [UIBackgroundConfiguration listPlainCellConfiguration];
[config setStrokeColor: UIColor.labelColor];
但是我应该在哪里分配这个“配置”值?UIButton 对象没有类似“button.backgroundConfiguration”属性或类似的东西。
注意: UIButton 对象的“configuration”属性在代码(Objective C、Mac Catalyst、iOS 15)中不可用,尽管文档声明并附有屏幕截图。很高兴知道为什么会这样。
答:
3赞
matt
10/14/2021
#1
后台配置是 UIButtonConfiguration(按钮的 )的一部分。configuration
下面是配置在情节提要中创建的按钮的示例:
UIButtonConfiguration * con = self.button.configuration;
[con setTitle: @"Hello"];
UIBackgroundConfiguration * back = con.background;
[back setStrokeColor: UIColor.labelColor];
[back setStrokeWidth: 3];
[back setBackgroundColor: [UIColor redColor]];
self.button.configuration = con;
结果:
评论
0赞
Kibernetik
10/14/2021
请阅读问题。我问的是 UIBackgroundConfiguration (iOS 14.0+),而不是 UIButtonConfiguration (iOS 15.0)。
0赞
matt
10/14/2021
请阅读答案。按钮配置具有将 UIBackgroundConfiguration 分配给的 background 属性。单击该链接。
0赞
Kibernetik
10/14/2021
请提供将 UIBackgroundConfiguration 分配给 UIButton 的工作代码示例(目标 C)。
0赞
matt
10/14/2021
我的答案是正确的,并且完全回答了您的问题。你想知道,在代码中,Xcode 13 Interface Builder 按钮的背景配置内容对应于什么属性?我已经告诉过你了。
0赞
Kibernetik
10/14/2021
UIButton 没有“配置”属性,至少在 Mac Catalyst 应用程序的 Objective C 代码中是这样。抱歉,指向文档的链接无助于显示此属性。
-1赞
Kibernetik
10/14/2021
#2
碰巧“button.configuration.background”属性在 Xcode 13 beta 5 for Mac Catalyst 中不可用。
必须等待更新的 Xcode 版本才能从代码中获取此功能。
评论
0赞
ProblemSlover
10/15/2021
只是为了注意。Xcode 13 不再处于测试阶段。Xcode 13 GM 已经上市一个月了。
0赞
Kibernetik
10/16/2021
是的,但它的 Mac Catalyst 仅支持 macOS 11.3。Mac Catalyst 15.0 需要 macOS 12.0 支持才能运行。
评论
UIButton
setBackgroundImage:for: