gpt4 book ai didi

objective-c - 如何以编程方式打开 NSComboBox 的列表?

转载 作者:太空狗 更新时间:2023-10-30 03:40:09 26 4
gpt4 key购买 nike

我已经研究了一段时间了。我认为这应该是一件容易的事,但事实并非如此 =D

我想做的是,当用户点击组合框而不是具体点击按钮时显示组合框的列表。

有什么想法吗?提前致谢!

最佳答案

这个答案符合问题的标题,但不符合问题本身。 Omer 想要触摸文本字段并弹出框。

此解决方案在用户输入文本时显示弹出窗口。

我在 Jens Alfke 的 cocoabuilder 上找到了这个答案.我在这里重新发布了他的代码。谢谢延斯。

original cocoabuilder post: (http://www.cocoabuilder.com/archive/cocoa)

@interface NSComboBox (MYExpansionAPI)
@property (getter=isExpanded) BOOL expanded;
@end

@implementation NSComboBox (MYExpansionAPI)

- (BOOL) isExpanded
{
id ax = NSAccessibilityUnignoredDescendant(self);
return [[ax accessibilityAttributeValue:
NSAccessibilityExpandedAttribute] boolValue];
}

- (void) setExpanded: (BOOL)expanded
{
id ax = NSAccessibilityUnignoredDescendant(self);
[ax accessibilitySetValue: [NSNumber numberWithBool: expanded]
forAttribute: NSAccessibilityExpandedAttribute];
}

我在我的 controlTextDidChange: 方法中使用了这段代码。

- (void) controlTextDidChange:(NSNotification *) aNotification {
NSTextField *textField = [aNotification object];
NSString *value = [textField stringValue];
NSComboBox *box = [self comboBox];
if (value == nil || [value length] == 0) {
if ([box isExpanded]) { [box setExpanded:NO]; }
} else {
if (![box isExpanded]) { [box setExpanded:YES]; }
}
}

关于objective-c - 如何以编程方式打开 NSComboBox 的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4499262/

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