swift - 使用用户输入的值在 NSView 中绘制图形

标签 swift cocoa nsview

我正在尝试使用 Swift 绘制图表。我创建了一个自定义 NSView 和一个 NSView 类。 在 ViewController 中,我想调用一个方法来更新 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
    }
}

最佳答案

您阅读过文档吗?搜索“绘图”会出现 Cocoa Drawing Guide .

正如其他人所说,绘图是在 drawRect() 内完成的。在您通过将 needsDisplay 设置为 true/YES 来标记它之后,系统将在“正确的时间”调用它。

关于swift - 使用用户输入的值在 NSView 中绘制图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34440989/

相关文章:

swift - 如何在 NEVPNManager 中 stub 连接属性(NEVPNConnection)?

ios - 存储 UICollectionViewCell 状态

objective-c - NSCollectionViewItem不显示自定义 View

objective-c - NSTextView 不会响应 setString

objective-c - 如何让我的 View 固定在窗口的右侧?

ios - Xcode 9.2 陷入编译 Swift 3.2 项目的困境

ios - tvOS 聚焦 SegmentedControl

macos - applicationDidBecomeActive 在 OSX 应用程序中不会触发

cocoa - NSTableView和滚动背景NSColor : Automatic Elasticity Color

cocoa - 手动绘制NSView的 subview