【问题标题】:Implement vibrancy effect on NSTextField在 NSTextField 上实现活力效果
【发布时间】:2021-10-19 14:35:50
【问题描述】:

如何在NSTextField 上实现活力效果 我添加了带有界面生成器的NSVisualEffectView,并尝试使用NSAppearance 为标签添加活力

var varLabel = NSTextField()
varLabel.stringValue = "Some"
varLabel.appearance = NSAppearance(named: .vibrantLight)

【问题讨论】:

  • 如果你查看vibrantLight,文档说你应该怎么做?
  • “仅在视觉效果视图中可用” :( 你有其他选择吗?

标签: swift blur uivibrancyeffect


【解决方案1】:
  1. 覆盖allowsVibrancy

目标-C

@interface VibrancyTextField : NSTextField
@end

@implementation VibrancyTextField

- (BOOL)allowsVibrancy {
    return YES;
}

@end

斯威夫特

class VibrancyTextField: NSTextField {
    override var allowsVibrancy {
        return true
    }
}

  1. 使用 textColor 作为Standard Colors。 RGB 或默认标签颜色等其他颜色将不起作用。

目标-C

VibrancyTextField *testField = [VibrancyTextField new];
testField.stringValue = @"Hello ████████████████████";
testField.textColor = NSColor.systemGrayColor;
[testField release];

斯威夫特

let testField = VibrancyTextField()
testField.stringValue = "Hello ████████████████████"
testField.textColor = .systemGrayColor

Screenshot

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多