[英]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開發而我錯過了UIView
的backgroundColor
屬性)
然后,如果檢測到連接,我用2 NSPoint
s繪制它。 這段代碼可以工作,但我沒有得到它來繪制子視圖,只在第一個NSView
。
父視圖無法繪制其子視圖。 您必須在子視圖上放置另一個視圖並在那里繪制線條。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.