Я пытаюсь использовать игровую площадку Swift для создания прототипа простого кода для рисования.Начиная с одного вида IOS шаблона:
//: A UIKit based Playground for presenting user interface
import UIKit
import PlaygroundSupport
class MyViewController : UIViewController {
override func loadView() {
let view = UIView()
view.backgroundColor = .white
let label = UILabel()
label.frame = CGRect(x: 150, y: 200, width: 200, height: 20)
label.text = "Hello World!"
label.textColor = .black
view.addSubview(label)
self.view = view
}
}
// Present the view controller in the Live View window
PlaygroundPage.current.liveView = MyViewController()
Ничего противоречивым там.Я ожидаю, что он будет включать в себя все необходимое, чтобы получить строку "Hello World!"на экране (в противном случае, почему он находится в шаблоне?), но если я запускаю его, я вижу только черный прямоугольник.
После того, как вы заметили, что применения UIAnimation
достаточно, чтобы представление правильно отображалосьЯ экспериментировал и обнаружил, что минимальное изменение в шаблоне, чтобы заставить его на самом деле что-то нарисовать, выглядит так:
// Present the view controller in the Live View window
let vc = MyViewController()
PlaygroundPage.current.liveView = vc
PlaygroundPage.current.needsIndefiniteExecution = true
vc.view.setNeedsDisplay()
Неправильно ли работает моя установка или не доставлен шаблон, чтобы произвести видимый вывод?