繁体   English   中英

以编程方式自动布局功能

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM