以编程方式自动布局功能

时间:2015-12-10 20:50:49

标签: ios swift object

我遇到了这两个功能的问题。对于func 1:

  func constrainWidth(width: CGFloat) -> [NSLayoutConstraint] {
    let constraints = NSLayoutConstraint.constraintsWithVisualFormat("H:[item(width)]", metrics: ["width" : width], views: ["item" : self])
    self.superview?.addConstraints(constraints)
    return constraints as! [NSLayoutConstraint]
}

我在" self.superview?.addConstraints(约束)"他们有"约束" 它说:  无法将[Any Object]类型的值转换为预期的参数类型' [NSLayoutConstraint]'

这是功能2:

 class func constraintsWithVisualFormat(visualFormat: String,  options: NSLayoutFormatOptions, views: [NSObject : AnyObject]) -> [AnyObject] {
    return NSLayoutConstraint.constraintsWithVisualFormat(visualFormat, options: options, metrics: nil, views: views)
}

我在&#34时收到错误;返回NSLayoutConstraint.constraintsWithVisualFormat(visualFormat,options:options,metrics:nil,views:views)"他们对"观点"有问题。 它说:*无法转换类型' [NSObject:AnyObject]'预期的参数类型' [String:AnyObject]'

这些功能互不影响,我只需要帮助他们。我以前没有遇到过这个问题,最近我才相信,因为新的快速。

1 个答案:

答案 0 :(得分:0)

func 1

缺少options参数,它甚至无法在我的XCode中编译。当我添加options参数时,它会编译&没有问题。

func 2

它确切地说明了什么是错误的 - 您为视图移交的参数定义为[NSObject : AnyObject],但它必须是[String: AnyObject]

相关问题