iOS:如何在没有 someView.addConstraints 的情况下使用 constraintsWithVisualFormat?
iOS: How to use constraintsWithVisualFormat without someView.addConstraints?
我 运行 遇到一个问题,我不知道如何在某些特定视图上使用没有 addConstraints
函数的旧函数 constraintsWithVisualFormat
。
头文件说:
This method will be deprecated in a future release and should be
avoided. Instead use +[NSLayoutConstraint activateConstraints:].
好的,我可以使用 class 函数,但我是不是误解了什么?我正在用纯 AutoLayout
和 UIScrollView
(Technical Note).
解决我的问题
所以我可以这样做,现在一切都会好起来的,但以后就不会了:
let views = ["containerView" : self.containerView]
self.scrollView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[containerView]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views))
self.scrollView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[containerView]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views))
这种方法不会在后台设置 NSLayoutConstraint
的 firstItem
或 secondItem
吗?
如何为这个例子模仿正确的 VF?
我知道如何使用新的锚点语法创建相同的约束,但我很好奇将来如何使用 VFL!?
constraintsWithVisualFormat
没有问题。 header 只是建议您将 self.scrollView.addConstraints(...)
替换为 NSLayoutConstraint.activateConstraints(...)
。
let views = ["containerView" : self.containerView]
NSLayoutConstraint.activateConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[containerView]|", options: [], metrics: nil, views: views))
NSLayoutConstraint.activateConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[containerView]|", options: [], metrics: nil, views: views))
引擎盖下 [containerView]
是您的容器视图,|
是超级视图 — 这些是 firstItem
和 secondItem
。
我 运行 遇到一个问题,我不知道如何在某些特定视图上使用没有 addConstraints
函数的旧函数 constraintsWithVisualFormat
。
头文件说:
This method will be deprecated in a future release and should be avoided. Instead use +[NSLayoutConstraint activateConstraints:].
好的,我可以使用 class 函数,但我是不是误解了什么?我正在用纯 AutoLayout
和 UIScrollView
(Technical Note).
所以我可以这样做,现在一切都会好起来的,但以后就不会了:
let views = ["containerView" : self.containerView]
self.scrollView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[containerView]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views))
self.scrollView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[containerView]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views))
这种方法不会在后台设置 NSLayoutConstraint
的 firstItem
或 secondItem
吗?
如何为这个例子模仿正确的 VF?
我知道如何使用新的锚点语法创建相同的约束,但我很好奇将来如何使用 VFL!?
constraintsWithVisualFormat
没有问题。 header 只是建议您将 self.scrollView.addConstraints(...)
替换为 NSLayoutConstraint.activateConstraints(...)
。
let views = ["containerView" : self.containerView]
NSLayoutConstraint.activateConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[containerView]|", options: [], metrics: nil, views: views))
NSLayoutConstraint.activateConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[containerView]|", options: [], metrics: nil, views: views))
引擎盖下 [containerView]
是您的容器视图,|
是超级视图 — 这些是 firstItem
和 secondItem
。