Cocoa 如何自定义NSTableView的拖放样式?
我对基于NSTableview的视图拖放有一些疑问Cocoa 如何自定义NSTableView的拖放样式?,cocoa,Cocoa,我对基于NSTableview的视图拖放有一些疑问 如何更改拖放高光颜色 如何更改拖放矩形形状(宽度和高度) 提前感谢您应该能够在NSTableRowView子类中执行类似操作: - (id)initWithFrame:(NSRect)frame { self = [super initWithFrame:frame]; if (!self) return nil; // etc... [self setDraggingDestinationF
提前感谢您应该能够在
NSTableRowView
子类中执行类似操作:
- (id)initWithFrame:(NSRect)frame {
self = [super initWithFrame:frame];
if (!self)
return nil;
// etc...
[self setDraggingDestinationFeedbackStyle:NSTableViewDraggingDestinationFeedbackStyleNone];
return self;
}
- (void)drawDraggingDestinationFeedbackInRect:(NSRect)dirtyRect {
NSRect drawRect = [self bounds];
// Tweaking the size of the drawing rectangle...
aRowRect.size.height--;
aRowRect.size.width-=2;
aRowRect.origin.x++;
NSBezierPath *backgroundPath = [NSBezierPath bezierPathWithRect:drawRect];
[[NSColor redColor] set];
[backgroundPath fill];
[[NSColor greenColor] set];
[backgroundPath stroke];
}
当然,如果您没有构建圣诞主题的应用程序,您会希望更改这些颜色。您使用的是基于视图的NSTableView吗?是的,我使用的是基于视图的NSTableView嗨Simon,谢谢您的帮助。但我仍然有一个问题,如果我将项拖动到边框(上下),NSTableRowView仍然会绘制蓝线。如何更改笔划颜色?谢谢。@CocoaUser我曾经在基于单元格的
NSTableView
中通过重写我的NSTableView
子类中的私有方法\u-dropHighlightColor
(返回值应该是NSColor
对象)完成过一次。试试看,它应该有用。。。(我不相信还有别的办法,但我可能错了)嗨,西蒙,你很好,解决了我所有的问题。非常感谢。@CocoaUser不用担心,很乐意帮助:)@SimonM我知道这个问题很老了,但我在我的NSTableView
上没有看到dropHighlightColor
方法。我正在尝试自定义行之间蓝线的颜色。你最近有没有可能和斯威夫特这样做过?谢谢