Swift 2.0带VisualFormat的约束
我对Swift 2.0中的自动布局有奇怪的问题Swift 2.0带VisualFormat的约束,swift,autolayout,swift2,Swift,Autolayout,Swift2,我对Swift 2.0中的自动布局有奇怪的问题 self.webView = WKWebView() self.view.addSubview(self.webView!) var viewBindingsDict: NSMutableDictionary = NSMutableDictionary() viewBindingsDict.setValue(self.webView, forKey: "webView") self.view.addConstraints(NSLayoutCon
self.webView = WKWebView()
self.view.addSubview(self.webView!)
var viewBindingsDict: NSMutableDictionary = NSMutableDictionary()
viewBindingsDict.setValue(self.webView, forKey: "webView")
self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[webView]|", options: 0, metrics: nil, views: viewBindingsDict))
self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|[webView]|", options: 0, metrics: nil, views: viewBindingsDict))
我收到一个错误:
'String' is not convertible to 'StringLiteralConvertible'
对于“H:|[webView]|”和“V:|[webView]|”
我不知道我是否遗漏了什么
更新:
您应该将
viewBindigsDict
更改为
var viewBindingsDict = [String: AnyObject]()
viewBindingsDict["webView"] = webView
正如注释和格式选项中所建议的,您不能使用0,而是:
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[webView]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: viewBindingsDict))
或者像@MartinR建议的那样更简单:
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[webView]|", options: [], metrics: nil, views: viewBindingsDict))
您是否尝试过使用普通的
字典
而不是NSMutableDictionary
?像let viewBindingsDict=[“webView”:self.webView!]
?另外,我相信addConstraints
可能不喜欢这样的事实,NSMutableDictionary
中的webView
是可选的。查看屏幕截图,Xcode指出“H:|[webView]|”是问题。或者只是选项:[]
,类似于(例如)。