【发布时间】:2016-10-28 19:36:06
【问题描述】:
我是 Swift 的 3 天新手,我正在尝试弄清楚如何绘制一个矩形。我对这门语言太陌生了,不知道要扩展的类和要覆盖的方法,我四处寻找示例代码,但似乎没有任何效果(我将其归因于我对 swift 3 的使用)。
我现在正在尝试的是:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let k = Draw(frame: CGRect(
origin: CGPoint(x: 50, y: 50),
size: CGSize(width: 100, height: 100)))
k.draw(CGRect(
origin: CGPoint(x: 50, y: 50),
size: CGSize(width: 100, height: 100)));
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
class Draw: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func draw(_ rect: CGRect) {
let h = rect.height
let w = rect.width
var color:UIColor = UIColor.yellow()
var drect = CGRect(x: (w * 0.25),y: (h * 0.25),width: (w * 0.5),height: (h * 0.5))
var bpath:UIBezierPath = UIBezierPath(rect: drect)
color.set()
bpath.stroke()
print("it ran")
NSLog("drawRect has updated the view")
}
}
这并没有做任何事情。帮助。
【问题讨论】:
-
如果您刚刚开始,那么在 Stack Overflow 上提出此类广泛的问题并不是您需要的地方。您应该找到一本好书或一系列在线教程。看看Good resources for learning ObjC;它包括 iOS 的参考资料,此时大部分材料都已针对 Swift 进行了更新。祝你好运!
-
1.千万不要自己打电话给
draw。 2. 只需调用view.addSubview(k)将视图添加到您的视图层次结构中,操作系统会在需要时为您调用draw方法。
标签: swift graphics draw drawrect swift3