我的子视图以编程方式显示在其父视图中。我想将子视图的CenterXAnchor设置为约束父级的CenterXAnchor,但我希望子视图具有特定的高度和宽度。
childViewController.view.centerXAnchor.constraint(equalTo:
parentViewController.view.centerXAnchor)
我该怎么做呢?
我已经尝试为childViewController设置一个框架,但是它与锚点混淆。
答案 0 :(得分:1)
您可以使用高度和宽度锚点将其设置为特定高度/宽度。它也可以是另一个视图的相对高度。
在你的例子中:
childViewController.view.heightAnchor.constraint(equalToConstant: 50)
childViewController.view.widthAnchor.constraint(equalToConstant: 50)
编辑:还记得使用' .isActive = true'激活约束。
这使您的视图的高度和宽度为50。
您可以在此处阅读更多内容:
https://developer.apple.com/documentation/uikit/uiview/1622590-heightanchor https://developer.apple.com/documentation/uikit/uiview/1622605-widthanchor
答案 1 :(得分:1)
以下是一个示例,说明如何执行以下操作:
$('form').submit((ev) => {
ev.preventDefault();
})
答案 2 :(得分:0)
请参阅示例代码
//Intiallising Child ViewController
let controller = UIViewController()
controller.view.frame = CGRect.init(x: 0, y: 0, width: 150, height: 150)
controller.view.backgroundColor = UIColor.red
addChildViewController(controller)
controller.didMove(toParentViewController: self)
view.addSubview(controller.view)
//Setting Constrains programattically
controller.view.translatesAutoresizingMaskIntoConstraints = false
let widthConstraint = NSLayoutConstraint(item: controller.view, attribute: .width, relatedBy: .equal,
toItem: nil, attribute: .notAnAttribute, multiplier: 1.0, constant: 150)
let heightConstraint = NSLayoutConstraint(item: controller.view, attribute: .height, relatedBy: .equal,
toItem: nil, attribute: .notAnAttribute, multiplier: 1.0, constant: 150)
let xConstraint = NSLayoutConstraint(item: controller.view, attribute: .centerX, relatedBy: .equal, toItem: self.view, attribute: .centerX, multiplier: 1, constant: 0)
let yConstraint = NSLayoutConstraint(item: controller.view, attribute: .centerY, relatedBy: .equal, toItem: self.view, attribute: .centerY, multiplier: 1, constant: 0)
NSLayoutConstraint.activate([widthConstraint, heightConstraint, xConstraint, yConstraint])**strong text**