我一直試圖在swift 3中使用具有可視格式的autolayout,並且它一直崩潰。下面的代碼基本上將一些UIImageView添加到滾動視圖並使其可滾動。 然而,當我試圖限制添加滾動視圖和ImageView的,應用程序保持崩潰,代碼工作正常上SWIFT 2.3如何在Swift 3.0中使用Visual格式設置Autolayout約束
let page1 = createAndAddViewsWith("image1", middleTextLabel: "Welcome to TwisCode")
let page2 = createAndAddViewsWith("image2", middleTextLabel: "This is just a practice")
let page3 = createAndAddViewsWith("image3", middleTextLabel: "And the button will appear here")
pages = [page1, page2, page3]
print(pages)
let views = ["view": view, "page1": page1.view, "page2": page2.view, "page3": page3.view]
let verticalConstraints = NSLayoutConstraint.constraints(withVisualFormat: "V:|[p1.view(==view)]|", options: NSLayoutFormatOptions(rawValue:0), metrics: nil, views: views)
NSLayoutConstraint.activate(verticalConstraints)
那麼,我加入垂直約束的部分是它崩潰的部分。
下面是添加頁面的功能。
private func createAndAddViewsWith (_ backgroundImage: String, middleTextLabel text: String)-> ContentViewController{
let contentVC = storyboard!.instantiateViewController(withIdentifier: "ContentViewController") as! ContentViewController
contentVC.view.translatesAutoresizingMaskIntoConstraints = false
contentVC.backgroundImage = UIImage(named: backgroundImage)
contentVC.textLabel = text
scrollView.addSubview(contentVC.view)
addChildViewController(contentVC)
contentVC.didMove(toParentViewController: self)
return contentVC
}
什麼類型的崩潰是怎麼回事?它是否指向代碼中的某一行?它與明確的解包有關嗎?它是否是自動佈局警告?提供更多信息。 –
我把斷點指向上面的代碼,它在verticalConstraints上崩潰 錯誤是「NSInvalidArgumentException」 - 無法識別的選擇器發送到實例nslayoutconstraint –