我正在使用Xcode 7 beta和Swift 2
我试图通过addController动作将ViewController(childVC)添加到容器中。我想针对容器设置ViewController的自动布局。在下面的代码中,它给出了以下错误
UIView没有名为“ setTranslatesAutoresizingMaskIntoConstraints”的成员。我也尝试过将'false'放在括号中(请参阅下面的注释行)-但这甚至行不通
我基本上希望childVC占据整个容器。childVC具有一个表格视图,该表格视图应根据容器的大小进行调整。
func addController(controller: UIViewController)
{
addChildViewController(controller)
containerView.addSubview(controller.view)
controller.view.setTranslatesAutoresizingMaskIntoConstraints = false
// controller.view.setTranslatesAutoresizingMaskIntoConstraints(false)
var constraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|[view]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: ["view" : controller.view])
constraints += NSLayoutConstraint.constraintsWithVisualFormat("V:|[view]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: ["view" : controller.view])
NSLayoutConstraint.activateConstraints(constraints)
didMoveToParentViewController(controller)
currentController = controller
}
在Swift 2中,该setTranslatesAutoresizingMaskIntoConstraints
方法成为属性- translatesAutoresizingMaskIntoConstraints
。
这与API版本无关,并且可用性检查(在Swift 2中也是新功能)完全没有必要。
如果使用Swift 2,只需在代码库中设置属性值。如果从Swift 1升级,您可能会看到错误,需要更新前一个函数调用。
简单。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句