Jestem 3 dni nowy na szybki i próbuję dowiedzieć się, jak narysować prostokąt. Jestem zbyt nowy w tym języku, aby znać klasy, które można rozszerzyć, i metody, które należy zastąpić. Rozejrzałem się po przykładowym kodzie, ale nic nie działa (co przypisuję używaniu szybkiego 3).Swift 3: Rysowanie prostokąta
Próbuję teraz jest:
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")
}
}
I że nie robi nic. Wsparcie.
Jeśli dopiero zaczynasz, zadawanie szerokich pytań w ten sposób w Stack Overflow nie jest tym, czym musisz być. Powinieneś znaleźć dobrą książkę lub serię samouczków online.Spójrz na [Dobre zasoby do nauki ObjC] (http://stackoverflow.com/q/1374660); Zawiera odniesienia do iOS, a większość materiałów zostanie zaktualizowana dla Swift w tym momencie. Powodzenia! –
1. Nigdy nie wzywaj sam 'draw'. 2. Wystarczy wywołać 'view.addSubview (k)', aby dodać widok do hierarchii widoków, a system operacyjny wywoła metodę 'draw', gdy zajdzie taka potrzeba. – Rob