簡體   English   中英

如何繪制NSView的子視圖

[英]How to draw over a subview of NSView

我正在嘗試繪制我的NSView頂部,它有一些子視圖。 實際上我正在嘗試重現Interface Builder的連接線樣式。 這是我目前使用的代碼:

- (void)drawRect:(CGRect)dirtyRect 
{
    // Background color
    [[NSColor whiteColor] setFill];
    NSRectFill(dirtyRect);

    // Draw line
    if(_connecting)
    {
        CGContextRef c = [[NSGraphicsContext currentContext] graphicsPort];
        [[NSColor redColor] setStroke];

        CGContextMoveToPoint(c, _start.x, _start.y);
        CGContextAddLineToPoint(c, _end.x, _end.y);        
        CGContextSetLineWidth(c, LINE_WIDTH); 
        CGContextClosePath(c);
        CGContextStrokePath(c);
    }
}

第一部分是為我的NSView着色(如果你知道另一種方式,請告訴我'因為我來自iPhone開發而我錯過了UIViewbackgroundColor屬性)

然后,如果檢測到連接,我用2 NSPoint s繪制它。 這段代碼可以工作,但我沒有得到它來繪制子視圖,只在第一個NSView

父視圖無法繪制其子視圖。 您必須在子視圖上放置另一個視圖並在那里繪制線條。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM