ビュー内にボタンがあります。私はインターフェイスビルダーで自分のボタンの画像を設定しました。私はインターフェイスビルダーで私のボタンに追加した 制約がある:I NSLog myBtn.constraintsのときに追加の制約が記録される
右スペース= 10
下のスペースは、スーパーする> = 10
をスーパーする= 10
トップのスペースをスーパーしますスペースをラベルに残す> = 10
すべてのことがうまく動作し、レイアウトに問題はありません。 しかし、私はこのコードでボタンの制約ログインしたとき:
NSLog(@"constraints for btnBack is: %@", self.btnBack.constraints);
コンソールログ:
constraints for btnBack is:(
"<NSContentSizeLayoutConstraint:0x7c35c400 H:[UIButton:0x7c3588a0(102)] Hug:250 CompressionResistance:750>"
"<NSContentSizeLayoutConstraint:0x7c35c450 V:[UIButton:0x7c3588a0(92)] Hug:250 CompressionResistance:750>")
を、私は、彼らがあるため、上部と左右と下の制約がここにログインしてはならないことを知っていますスーパービューの制約はボタンの制約ではありません。 しかし、ここでは、(コード内であっても)ボタンに幅と高さの制約を追加しませんでした。
なぜ制約の高さと幅がコンソールに記録されますか?
つまり、彼らは本当の制約のようなものですか?私は私のlableの幅が大きくなるように強制した、そして、私は私のボタンが縮小するのを見た。 (ボタンに制約幅を追加しなかったため)。私のボタンに制約幅を追加すると(インターフェースビルダーで)、私のボタンは縮小しません。 –
はい、実際の制約ですが、デフォルトでは、優先度はRequired(1000)未満です。幅制約を追加すると、デフォルトで優先度が「Required(1000)」になり、「勝つ」ようになります。 –
ありがとうございます。正解。 –