Я новичок в изучении Swift и пытаюсь запустить невероятно простое приложение. Все, что я пытаюсь сделать, это получить UIView.drawRect для обновления, когда я нажимаю кнопку. Он обновляет/рисует, когда приложение сначала загружается, а затем ничего после этого, что бы я ни пытался. Я пару раз бил головой об этом, и ничего не могу найти.
Я создал:
-
приложение с одним представлением
-
одна кнопка, связанная с контроллером представления как действие
-
новый класс, Test_View, подклассификация UIView
Код ViewController:
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
var f = Test_View()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func Button_Pressed(sender: AnyObject) {
var f = Test_View()
f.setNeedsDisplay()
NSLog("Button pressed.")
}
}
Код Test_View:
class Test_View: UIView {
override func drawRect(rect: CGRect) {
let h = rect.height
let w = rect.width
var color:UIColor = UIColor.yellowColor()
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()
NSLog("drawRect has updated the view")
}
}
(Примечание: журнал обновляется каждый раз, когда я нажимаю кнопку, так что это не проблема. Это просто, что дисплей никогда не изменяется. Кроме того, я попытался рисовать прямоугольник со случайными координатами, поэтому он не обновляет его но я этого не вижу.)
Спасибо за любую помощь!