gpt4 book ai didi

swift - 如何为禁用的 NSButton 设置标题颜色?(OS X)

转载 作者:搜寻专家 更新时间:2023-11-01 05:36:41 25 4
gpt4 key购买 nike

我知道我们可以使用这样的属性字符串为按钮设置彩色标题:

let style = NSMutableParagraphStyle()
style.alignment = .Center
button.attributedTitle = NSAttributedString(string: "title",
attributes: [ NSForegroundColorAttributeName : NSColor.redColor(),
NSParagraphStyleAttributeName : style])

事实上,这就是我开始获得红色标题的方式,但它对禁用模式下的标题颜色没有影响(它始终为灰色);我想为了设置它,我必须创建 NSButton 类的实例并覆盖它的一些与标题颜色相关的方法或覆盖它的一些属性以禁用用户交互(必要时)禁用按钮,但我不知道如何。

这个问题有一些可能的 Objective-C 答案 here , herehere .

最佳答案

创建一个 NSButtonCell 子类并将其分配给 IB 中的 CELL(不是按钮)。

然后实现

func drawTitle(_ title: NSAttributedString, 
withFrame frame: NSRect,
in controlView: NSView) -> NSRect

并为 isEnabled 或 !isEnabled 返回不同的 attributedString。

您还可以在

中设置初始的 attributedTitle
init (id)

编辑:仅在 setWantsLayers 为 false 时有效

关于swift - 如何为禁用的 NSButton 设置标题颜色?(OS X),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37281004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com