Scene Dock View с ограничениями VFL не отображаются - PullRequest
0 голосов
/ 19 октября 2018

У меня есть View Controller, который имеет UIView (названный pickerView), помещенный в док-станцию ​​сцены.Причина, по которой я использую Scene Dock, состоит в том, что UIView будет содержать много дочерних представлений, и я не хочу загромождать раскадровку.Я использую VFL для определения размера этого pickerView, чтобы он был на весь экран устройства.

Проблема в том, что когда я нажимаю openPickerButtonPressed, желтый pickerView никогда не появляется.Я что-то здесь упускаю?Правильно ли настроены ограничения VFL?

override func viewDidLoad() {
    super.viewDidLoad()
    self.pickerView.translatesAutoresizingMaskIntoConstraints = false

}

@IBAction func openPickerButtonPressed(_ sender: UIButton) {
    guard pickerView.superview == nil else {
        return
    }
    self.view.addSubview(pickerView)
    let viewsDictionary: [String: UIView] = ["pickerView": pickerView]
    view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[pickerView]-0-|", options: [], metrics: nil, views: viewsDictionary))
    view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:[pickerView(0)]", options: [], metrics: nil, views: viewsDictionary)) // HEIGHT
    view.addConstraint(NSLayoutConstraint(item: pickerView, attribute: .centerY, relatedBy: NSLayoutConstraint.Relation(rawValue: 0)!, toItem: view, attribute: .centerY, multiplier: 1, constant: 0))
}

Picker View

Как я могу открыть окно UI Viewer Viewer при нажатии кнопки openPickerButtonPressed

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...