В следующем коде я хочу нарисовать увеличивающийся индикатор выполнения. что мне следует вызвать в строке, помеченной
// what goes here?
Предположим, что код выполняется в основном потоке.
class View: UIView {
func updateProgressBar(){
var boxFrame = CGRect(x:10, y:10: width:100, height: 100)
for _ in 0...<10 {
let box = UIView(frame: boxFrame)
box.backgroundColor = .blue
addSubview(box)
// What goes here?
Thread.sleep(forTimeInterval: 2)
boxFrame.origin.x = boxFrame.width
}
}
}
Каким будет ответ из следующего варианта и почему?
- setNeedsDisplay ()
- layer.draw (in: UIGraphicsGetCurrentConntext ()!)
- draw (bounds)
- Этот подход неверен. Это надо реализовать по-другому. например, с DispatchQueue.asyncAfter ()