gpt4 book ai didi

objective-c - 检查 NSButton 是否在 drawRect 上关闭

转载 作者:太空狗 更新时间:2023-10-30 03:41:56 24 4
gpt4 key购买 nike

我想在我的自定义 drawRect 方法中检查我的自定义 NSButton 当前是否处于按下状态(用户正在单击它)。像这样:

- (void)drawRect:(NSRect)dirtyRect{
if ([self buttonIsInPressedState]) {
[[self alternateBGImage] drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
}else{
[[self BGImage] drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
}
[super drawRect:dirtyRect];
}

你会如何检查这样的事情?可能吗?

解决方案

我最终检查了按钮单元格上的 mouseDownFlags。不知道这样做是否“正确”,所以如果您有更好的建议,请告诉我:

- (void)drawRect:(NSRect)dirtyRect{        
if ([self.cell mouseDownFlags] == 0) {
[[self BGImage] drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
}else{
[[self alternateBGImage] drawInRect:dirtyRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0f];
}

[super drawRect:dirtyRect];
}

最佳答案

我通过检查 [self isHighlighted] 解决了这个问题。

关于objective-c - 检查 NSButton 是否在 drawRect 上关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15017047/

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