Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 如何自定义NSTableView的拖放样式?_Cocoa - Fatal编程技术网

Cocoa 如何自定义NSTableView的拖放样式?

Cocoa 如何自定义NSTableView的拖放样式?,cocoa,Cocoa,我对基于NSTableview的视图拖放有一些疑问 如何更改拖放高光颜色 如何更改拖放矩形形状(宽度和高度) 提前感谢您应该能够在NSTableRowView子类中执行类似操作: - (id)initWithFrame:(NSRect)frame { self = [super initWithFrame:frame]; if (!self) return nil; // etc... [self setDraggingDestinationF

我对基于NSTableview的视图拖放有一些疑问

  • 如何更改拖放高光颜色
  • 如何更改拖放矩形形状(宽度和高度)

  • 提前感谢

    您应该能够在
    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
    方法。我正在尝试自定义行之间蓝线的颜色。你最近有没有可能和斯威夫特这样做过?谢谢