11
自動レイアウトを使用しているときに、CALayerのアンカーポイントを調整するにはどうすればよいですか?
注:この質問が行われて以来、状況は変化しています。最近の概要については、こちらをご覧ください。 自動レイアウトの前に、フレームを保存し、アンカーポイントを設定し、フレームを復元することで、ビューを移動せずにビューのレイヤーのアンカーポイントを変更できます。 自動レイアウトの世界では、もはやフレームを設定しませんが、制約は、ビューの位置を調整して目的の場所に戻すというタスクには及ばないようです。制約をハックしてビューの位置を変更できますが、回転やその他のサイズ変更イベントでは、これらは再び無効になります。 次の優れたアイデアは、「レイアウト属性の無効なペア(左と幅)」を作成するため機能しません。 layerView.layer.anchorPoint = CGPointMake(1.0, 0.5); // Some other size-related constraints here which all work fine... [self.view addConstraint: [NSLayoutConstraint constraintWithItem:layerView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:layerView attribute:NSLayoutAttributeWidth multiplier:0.5 constant:20.0]]; ここでの私の意図はlayerView、アンカーポイントが調整されたビューの左端を、幅の半分+ 20(スーパービューの左端から差し込みたい距離)に設定することでした。 自動レイアウトでレイアウトされたビューで、ビューの位置を変更せずにアンカーポイントを変更することはできますか?ハードコードされた値を使用し、回転ごとに制約を編集する必要がありますか?私は望んでいない。 ビューに変換を適用したときに正しい視覚効果が得られるように、アンカーポイントを変更する必要があります。
161
ios
calayer
autolayout