首页 > 解决方案 > 自动布局视觉格式语言

问题描述

我正在使用这种视觉格式布局"V:[v0]-16-|"

self.view.addConstraintsWithFormat("V:[v0]-16-|", views: imageView)

辅助方法如下:

func addConstraintsWithFormat(_ format: String, views: UIView...) {
        var viewsDictionary = [String: UIView]()
        for (index, view) in views.enumerated() {
            let key = "v\(index)"
            view.translatesAutoresizingMaskIntoConstraints = false
            viewsDictionary[key] = view
        }

        addConstraints(NSLayoutConstraint.constraints(withVisualFormat: format, options: NSLayoutConstraint.FormatOptions(), metrics: nil, views: viewsDictionary))
    }

但实际上我想要的是“V:[v0]+16+|”之类的东西,我希望正确的约束超出UIScreen. 我怎样才能做到这一点?

标签: iosswiftconstraintsios-autolayout

解决方案


您可以使用负边距将视图定位在父级边缘之外。只需将常量放在括号中,如下所示:

self.view.addConstraintsWithFormat("V:[v0]-(-16)-|", views: imageView)

推荐阅读