以可视格式语言居中水平

Fre*_*rik 2 visual-format-language swift

我有3个标签,我在这张图片中互相放置:

在此输入图像描述

但是现在它们被放置在左侧,我不希望它们被放置在水平中心.以下是水平放置的可视格式代码:

let horizontalConstraints = NSLayoutConstraint.constraintsWithVisualFormat(
            "H:|[label][label2][label3]|",
            options: [],
            metrics: nil,
            views: views)
Run Code Online (Sandbox Code Playgroud)

无论我测试什么,我都无法让他们集中,任何想法?

Har*_*kDG 5

如果你想让它水平/垂直居中,我从图像中理解你可以像这样:

// Center horizontally
var constraints = NSLayoutConstraint.constraintsWithVisualFormat(
    "V:[superview]-(<=1)-[label2]",
    options: NSLayoutFormatOptions.AlignAllCenterX,
    metrics: nil,
    views: ["superview":view,"label2":label2])

view.addConstraints(constraints)

// Center vertically
constraints = NSLayoutConstraint.constraintsWithVisualFormat(
    "H:[superview]-(<=1)-[label1][label2][label3]",
    options: NSLayoutFormatOptions.AlignAllCenterY,
    metrics: nil,
    views: ["superview":view, "label1":label1,"label2":label2,"label3":label3])

view.addConstraints(constraints)
Run Code Online (Sandbox Code Playgroud)

所以看起来像这样: 在此输入图像描述