0

Visual Format Language を迅速に動作させようとしていますが、単純な例で動作させることができません。左上隅以外の場所にラベルを表示しようとしています。これが現在の表示方法です。

テスト

そして、これは私のコードです:

override func viewDidLoad() {
        super.viewDidLoad()

        let label = UILabel()
        label.text = "Label 1"
        label.sizeToFit()

        self.view.addSubview(label)
        self.view.translatesAutoresizingMaskIntoConstraints = false

        let views = Dictionary(dictionaryLiteral: ("label", label))

        let horizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|-30-[label]-|",
            options: [],
            metrics: nil,
            views: views)

        self.view.addConstraints(horizontalConstraints)

        let verticalConstraints = NSLayoutConstraint.constraintsWithVisualFormat("V:|-30-[label]-|",
            options: [],
            metrics: nil,
            views: views)

        self.view.addConstraints(verticalConstraints)
}

誰が何が間違っているかを見ることができますか?

4

1 に答える 1

1

追加する必要がありますlabel.translatesAutoresizingMaskIntoConstraints = false

これがないと、実行時にラベルの自動サイズ変更マスクが制約に変換されますlayoutSubviews。ブール値はビューのみに適用され、そのサブビューには適用されません。

于 2016-03-25T13:58:06.267 に答える