gpt4 book ai didi

cocoa - NSSegmentedControl 以编程方式突出显示段

转载 作者:行者123 更新时间:2023-12-03 17:02:35 24 4
gpt4 key购买 nike

我有一个 NSSegmentedControl,其中,在用户单击时,在将操作发送到其目标之前应满足一些条件。

到目前为止,我设法通过覆盖 -mouseDown 事件处理程序并仅在成功检查我的条件后调用分段控制的 [super mouseDown] 处理程序来做到这一点。只有一个问题。在调用 [super mouseDown] 之前,用户没有任何视觉线索表明某个段已被单击。

所以问题是:有没有办法以编程方式设置“突出显示”状态(或多或少类似于 NSButtons 的“setHighlighted”)?

最佳答案

您可以在操作方法中取消选择单击的段。您可以通过其他操作方法绕行

- (IBAction)toggleSegments:(id)sender
{
NSSegmentedControl *segmentedControl = sender;
NSInteger selectedSegment = segmentedControl.selectedSegment;

if (! conditionsAreMet) {
[segmentedControl setSelected:NO forSegment:selectedSegment];

return;
}

[NSApp sendAction:@selector(reallyToggleSegments:) to:nil from:sender];
}

关于cocoa - NSSegmentedControl 以编程方式突出显示段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26756715/

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