[英]Programmatically Auto-Layout Functions
我对这两个功能有疑问。 对于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(constraints)”处收到错误,他们对“ constraints”有问题,并说: 无法将[任何对象]类型的值转换为预期的参数类型“ [NSLayoutConstraint]”
这是func 2:
class func constraintsWithVisualFormat(visualFormat: String, options: NSLayoutFormatOptions, views: [NSObject : AnyObject]) -> [AnyObject] {
return NSLayoutConstraint.constraintsWithVisualFormat(visualFormat, options: options, metrics: nil, views: views)
}
我在“返回NSLayoutConstraint.constraintsWithVisualFormat(visualFormat,选项:选项,指标:无,视图:视图)”时遇到错误,他们对“视图”有问题,它说:*无法转换类型'[NSObject:AnyObject]的值'到预期的参数类型'[String:AnyObject]'
这些功能互不影响,我只需要它们的帮助。 我以前没有这个问题,由于新的迅速发展,我认为它是最近才出现的。
对于func 1 :
没有缺少options
参数,它甚至没有在我的XCode中编译。 当我添加options
参数时,它可以编译并运行而不会出现问题。
对于func 2 :
它确切地指出了什么地方不对-您为视图传递的参数定义为[NSObject : AnyObject]
,但必须为[String: AnyObject]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.