2012-11-08 5 views
5

私は、次のコードを使用してImageViewのを回転させるようにしたい:なぜautolayoutのCGAffineTransformRotateがアニメーション表示をシフトしますか?

[UIView animateWithDuration:.25 animations:^{ 
    self.imageView.transform = CGAffineTransformRotate(self.plusView.transform, M_PI_4); 
}]; 

有線のものがあることである:私は、自動レイアウトせずにこのコードを実行した場合、すべてのものは大丈夫です。自動レイアウトを使用すると、イメージビューは回転する前にゴミピクセルを移動しますが、なぜですか?

答えて

4

Xcode 5で自動レイアウトを使用する場合、コンテナ内にimageViewの水平中心と垂直中心を固定するための制約を追加する必要があります。ストーリーボードを使用している場合、これは制約オプションで簡単に行うことができます。また、imageViewを自動サイズ変更したくない場合は、幅と高さを制約で固定する必要があります。

Pin the center of a view with constraints in Storyboard

Fix the size of a view with constraints in Storyboard

0

私は(私のアカウントはFacebookのログインの最近の変更をリセットしてしまった)chazzwozzerの答えにコメントするの評判を持っていませんでした。その答えは私にとってはうまくいきました..異なる制約を持つUIViewに変換されていたコントロールを置くことで次に、変換されていたコントロールは、そのビューのHorizo​​ntal AND Vertical Centerに設定されます。

FYI。移行時の変換は、iOS 7.1以降のiOS 8以降では発生しませんでした。

関連する問題