swift 3で視覚的なフォーマットでautolayoutを使用しようとしていて、クラッシュしています。以下のコードは基本的にスクロールビューにいくつかのUIImageViewを追加し、スクロール可能にします。 はしかし、私は、スクロールビューとImageViewのに制約を追加しようとしたとき、アプリがクラッシュし続ける、コードがSWIFT 2.3Swift 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に送信 –