スポンサーリンク
AutoLayoutを考慮した画面表示を行いたい場合、必ず必要になってくるのがNSLayoutConstraintである。
本来はStoryboardから設定するが、動的にレイアウトを設定したい場合はSwiftからコーディングでNSLayoutConstraintを扱う必要がある。
だが、タイトルにある通り addConstraints の処理後にexc_bad_instruction というエラーが発生して落ちる。
コードは以下。
self.view.addConstraints([ // self.veiwの上から0pxの位置に配置 NSLayoutConstraint( item: scrView, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Top, multiplier: 1.0, constant: 0 ), // self.viewの横幅いっぱいにする NSLayoutConstraint( item: scrView, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.Width, multiplier: 1.0, constant: 0 ), // self.viewのレイアウトに関わらず高さは64px NSLayoutConstraint( item: scrView, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.Height, multiplier: 1.0, constant: 64 )] )
調べたみた結果、原因わからずで少し置いておく。
とりあえずNSLayoutConstraintを使わない方向でいく。
スポンサーリンク
スポンサーリンク