Подтвердить что ты не робот

Ограничения Swift 2.0 с VisualFormat

У меня странная проблема с AutoLayout в Swift 2.0

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] |"

Я не знаю, потерял ли что-нибудь что-то

Обновление: Снимок экрана с детской площадки

4b9b3361

Ответ 1

Вы должны изменить свой 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))