【发布时间】:2014-11-18 12:52:44
【问题描述】:
所以在我的 Swift OS X 应用程序中,我有一个自定义视图和一个按钮。当我启动我的应用程序时,我的视图显示一个红色椭圆,当我单击我的按钮时,我需要将该绘图更改为drawRectangle()-method。
我的自定义视图类 MyView 如下所示:
import Cocoa
import AppKit
class MyView: NSView {
var isTrue = true
override func drawRect(dirtyRect: NSRect) {
super.drawRect(dirtyRect)
// Drawing code here.
if isTrue {
DrawingMethods.drawOval()
} else {
DrawingMethods.drawRectangle()
}
}
@IBAction func buttonPressed(sender: AnyObject) {
isTrue = false
// Now I need to update the view, so it draws rectangle isntead of oval. How I do that?
}
}
我有我的DrawingMethods 课程:
import Cocoa
public class DrawingMethods: NSObject {
public class func drawOval() {
let color = NSColor(calibratedRed: 1, green: 0, blue: 0, alpha: 1)
let ovalPath = NSBezierPath(ovalInRect: NSMakeRect(64, 54, 50, 45))
color.setFill()
ovalPath.fill()
}
public class func drawRectangle() {
let color = NSColor(calibratedRed: 1, green: 0, blue: 0, alpha: 1)
let rectanglePath = NSBezierPath(rect: NSMakeRect(136, 12, 34, 34))
color.setFill()
rectanglePath.fill()
}
}
那么我怎样才能让我的自定义视图绘制矩形而不是椭圆?
【问题讨论】:
标签: macos swift drawing nsview