gpt4 book ai didi

drag-and-drop - 如何禁用 NSTextView 上的拖放功能?

转载 作者:行者123 更新时间:2023-12-01 15:32:02 25 4
gpt4 key购买 nike

我有一个包含多个 NSViewControllersNSWindowController。我想普遍接受 NSWindowController 类的拖放事件,并且不被其他 View 拦截,例如 NSTextView(包含在 NSViewController 中)

如何告诉 NSTextView 忽略拖放事件?

最佳答案

我发现要跳过 NSTextView 对拖放事件的拦截,需要做两件事。

在包含您的 NSTextViewNSViewController 中:

- (void)awakeFromNib
{
[self noDragInView:self.view];
}

- (void)noDragInView:(NSView *)view
{
for (NSView *subview in view.subviews)
{
[subview unregisterDraggedTypes];
if (subview.subviews.count) [self noDragInView:subview];
}
}

现在子类化你的 NSTextView 并添加这个方法:

- (NSArray *)acceptableDragTypes
{
return nil;
}

NSTextView 现在应该正确地忽略拖放事件并将其留给 NSWindow 处理。

关于drag-and-drop - 如何禁用 NSTextView 上的拖放功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16482596/

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