Search code examples
swiftnsviewswift-playground

How to use Swift playground to display NSView with some drawing?


Basically I would like to test a chart drawing in a Swift playground in NSView.


Solution

  • Here is what I am using now:

    class CustomView: NSView {
      init(frame: NSRect) {
        super.init(frame: frame)
      }
      override func drawRect(dirtyRect: NSRect) {
        color.setFill()
        NSRectFill(self.bounds)
        NSColor.yellowColor().setFill()
        var r = NSMakeRect(0, y, self.bounds.width, 5)
        NSRectFill(r)
      }
    
      var color = NSColor.greenColor()
      var y: CGFloat = 0
    }
    var view = CustomView(frame:
      NSRect(x: 0, y: 0, width: 300, height: 300))
    
    view.color = NSColor.greenColor()
    XCPShowView("chart", view)
    
    for var i = 0; i < 100; ++i {
      view.y = CGFloat(i) // <- try click on a plus sign opposite this line to add it to timeline
    }