gpt4 book ai didi

objective-c - 如何查找用户点击了 NSBrowser 中的任何行?

转载 作者:行者123 更新时间:2023-12-03 16:29:03 26 4
gpt4 key购买 nike

在我的浏览器实现中,我使用了以下代码来选择默认行。

[browser setTarget:self];
[browser setAction:@selector(singleClickOnBrowser:)];
[browser sendActionOn:NSLeftMouseDown];
[browser selectRow:0 inColumn:0];
[browser sendAction];

有没有办法区分用户点击和第一次选择的行选择默认行?

最佳答案

在我的应用程序中,我需要跟踪 NSBrowser 中选择的最后一个项目。以下设置 NSBrowser:

- (void)awakeFromNib
{
[browser setDelegate:self];
[browser setTarget:self];
[browser setAction:@selector(browserCellSelected:)];
[browser setSendsActionOnArrowKeys:YES];
}

以下内容在单元格被选中时对其进行处理。这适用于通过鼠标或键盘进行的选择。如果您的应用程序允许多项选择,您的操作方法将需要处理该问题。

- (void)browserCellSelected:(id)sender
{
NSIndexPath *indexPath = [browser selectionIndexPath];
MyItem *myItem = [browser itemAtIndexPath:indexPath];
if (myItem)
{
NSLog(@"Selected Item: %@", myItem.name);
}
}

顺便说一句,编程选择不会触发 browserCellSelected: 方法,并且用户点击不会调用委托(delegate)的 browser:selectRow:inColumn: 方法。

关于objective-c - 如何查找用户点击了 NSBrowser 中的任何行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11824980/

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