viewDidLoad 上的 NSView alpha 不显示
NSView alpha on viewDidLoad doesn't display
我有一个自定义 NSView,我在 viewDidLoad 中设置了 isEnabled 标志,但它没有以 0.5 alpha 显示,即使正确设置了 isEnabled 并且在 drawRect 中为自定义视图调用了正确的代码。
只要我单击同一个视图控制器中的文本字段,视图 alpha 就会改变。
这里是viewDidLoad中调用的代码
forceOutput.isEnabled = true
这里是drawRect调用的代码
// is the view enabled?
if isEnabled {
// alpha should be full (opaque)
self.alphaValue = 1.0
} else {
// make the view slightly transparent
self.alphaValue = 0.5
}
在 drawRect
中设置 alpha 通常在渲染过程中为时已晚。如果设置 alpha,请在调用 drawRect
之前执行。也许在 viewDidLoad
中设置 alpha。或者,更好的是,为设置 alpha 的 isEnabled
属性 使用 didSet
。但不要在 drawRect
中这样做。
我有一个自定义 NSView,我在 viewDidLoad 中设置了 isEnabled 标志,但它没有以 0.5 alpha 显示,即使正确设置了 isEnabled 并且在 drawRect 中为自定义视图调用了正确的代码。
只要我单击同一个视图控制器中的文本字段,视图 alpha 就会改变。
这里是viewDidLoad中调用的代码
forceOutput.isEnabled = true
这里是drawRect调用的代码
// is the view enabled?
if isEnabled {
// alpha should be full (opaque)
self.alphaValue = 1.0
} else {
// make the view slightly transparent
self.alphaValue = 0.5
}
在 drawRect
中设置 alpha 通常在渲染过程中为时已晚。如果设置 alpha,请在调用 drawRect
之前执行。也许在 viewDidLoad
中设置 alpha。或者,更好的是,为设置 alpha 的 isEnabled
属性 使用 didSet
。但不要在 drawRect
中这样做。