2015-12-23 51 views
0

我試圖用Swift繪製圖形。我創建了一個自定義NSView和一個NSView類。 在ViewController我想調用一個方法來更新NSView並使用用戶輸入的值繪製完整的圖形。使用用戶輸入的值在NSView中繪製圖形

import Cocoa 

class Graph: NSView { 

    let startPoint = NSPoint(x: 10, y: 10) 

    override func drawRect(dirtyRect: NSRect) { 
     NSColor.whiteColor().set() // set white color 
     NSRectFill(dirtyRect)  // fill the Rect in the View 

     // draw axes lines 
     NSColor.blackColor().set() 
     NSBezierPath.strokeLineFromPoint(startPoint, toPoint: NSPoint(x: Double(dirtyRect.width) - 10.0, y: 10.0)) 
     NSBezierPath.strokeLineFromPoint(startPoint, toPoint: NSPoint(x: 10.0, y: Double(dirtyRect.height) - 10.0)) 
    } 

    func drawGraphicsOfNewteork(arrayOfData: [NSTextField]){ 
     // Here I would draw in the View some lines using the arrayOfData 
    } 
} 
+0

從'drawRect'內調用它。 –

+0

執行'drawRect'內的所有繪圖。如果要更新圖形,請調用'setNeedsDisplayInRect'。 – Willeke

回答

0

您是否閱讀過文檔?搜索「繪圖」會出現Cocoa Drawing Guide

正如其他人所說,繪圖是從drawRect()內完成的。在您通過將needsDisplay設置爲true/YES來標記後,系統會在「正確的時間」調用它。