gpt4 book ai didi

ios - UIView 没有名为 'setTranslatesAutoresizingMaskIntoConstraints' 的成员

转载 作者:IT王子 更新时间:2023-10-29 05:38:52 25 4
gpt4 key购买 nike

我正在使用 Xcode 7 beta 和 Swift 2

我正在尝试通过 addController 操作将 ViewController (childVC) 添加到容器中。我想针对容器为 ViewController 设置自动布局。在下面的代码中,它给出了以下错误

UIView 没有名为“setTranslatesAutoresizingMaskIntoConstraints”的成员。我也试过将“false”放在方括号中(参见下面的注释行)——但即使那样也行不通

我基本上希望 childVC 占据整个容器。 childVC 有一个 tableview,它应该根据容器大小调整大小。

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

}

最佳答案

在 iOS 9 之前,setTranslatesAutoresizingMaskIntoConstraints 是一个函数:

func setTranslatesAutoresizingMaskIntoConstraints(_ flag: Bool)

在 iOS 9 中它变成了一个属性:

 var translatesAutoresizingMaskIntoConstraints: Bool 

您必须决定是否只针对 iOS 9,相应地设置部署目标,并使用该属性。如果您支持旧版本的 iOS,则可以使用 Swift 2 的新可用性功能。

if #available(iOS 9, *) {
controller.view.translatesAutoresizingMaskIntoConstraints = false
} else {
controller.view.setTranslatesAutoresizingMaskIntoConstraints(false)
}

关于ios - UIView 没有名为 'setTranslatesAutoresizingMaskIntoConstraints' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32230503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com