コードから制約を動的に変更したくて色々とやっているのですが、うまくいきません。
スイッチを押すとImageViewをずらすということをやりたくて、ImageViewがずれると他のViewも一緒にずらしたいので、スイッチを押すと制約をまず以下のように変更しています。
スイッチON
Objective
1[self.myImageView.leadingAnchor constraintEqualToAnchor: self.layoutMarginsGuide.leadingAnchor constant: 73.0].active = true;
そしてもう一度スイッチが押されてOFFになると以下のようにしてImageViewを元の位置に戻そうとしています。
スイッチOFF
Objective
1[self.myImageView.leadingAnchor constraintEqualToAnchor: self.layoutMarginsGuide.leadingAnchor constant: 12.0].active = true;
実際上記のコードを実行してみてもImageViewの位置は変わりません。
しかし以下のようにleadingAnchorをleftAnchorに変えると一回目にスイッチをONにした時だけImageViewが動きました。
Objective
1[self.myImageView.leftAnchor constraintEqualToAnchor: self.layoutMarginsGuide.leftAnchor constant: 73.0].active = true;
なぜ一番最初にスイッチを切り替えた時にしか制約の変更ができないのでしょうか?
そもそもleadingAnchorとleftAnchorの違いは何なのでしょうか?
どなたかわかる方がいれば教えていただきたいです。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/29 03:02
2016/02/29 03:56
2016/02/29 05:27
2016/02/29 05:32
2016/02/29 06:45