CustomView's
のサイズは300x300としましょう。 iconImageView
にはサイズと割り当てられた制約があります。 UILabel
のテキストはどれくらいの長さになるのか分かりませんので、一定のサイズにしたいとは思いませんUILabel
。私の目標は、左の制約をiconImageView
の右辺に、右辺をcustomView
に固定することです。自動サイジングUILabel with SnapKit
override func updateConstraints() {
super.updateConstraints()
iconImageView.snp.updateConstraints { (make) in
make.left.equalTo(customView).offset(10)
make.centerY.equalTo(customView)
make.size.equalTo(CGSize(width: 40.0, height: 40.0))
}
nameLabel.snp.updateConstraints { (make) in
make.right.equalTo(customView).offset(-10)
make.left.equalTo(iconImageView.snp.right).offset(10)
make.centerY.equalTo(customView)
}
}
私はこの方法を試したとき、私はエラーを取得する:Unable to simultaneously satisfy constraints.
これを行うための適切な方法は何ですか?
hmmm ...コードを試したところ、うまくいきました。私はこのコードが 'UIView'サブクラスにあると仮定していますか?そして、そのビューには、そのスーパービューに関連した適切な制約がありますか?そして 'customView'には300x300にするための適切な制約があり、そのビューの中に配置されていますか? – DonMag
このコードはUIViewサブクラスにあり、スーパービューに対して適切な制約があります。このビューはUIPageViewControllerの一部であるため、別のViewControllerにスライドするとエラーが発生します。 – Billy
うーん...エラーが発生したときの情報が必要になると思います。最初に、ここで 'updateConstraints()'のオーバーライドに関する議論を読む必要があります(これはあなたが最初に必要とする情報を与えるだけかもしれません):https://developer.apple.com/reference/uikit/uiview/1622512 - 更新条件 – DonMag