ビューを作成してから、それらを回転させて反転させています。CGAffineTransformConcat を使用してスケールと回転を組み合わせて期待どおりの結果を得ることができるようですが、問題が発生しています。
最初に、ビューを垂直方向に反転する変換を設定しました。
CGAffineTransform flipViewTrans;
viewFlipTrans = CGAffineTransformMakeScale(1, -1);
selectedView.transform = CGAffineTransformConcat(selectedView.transform, flipViewTrans);
ビューを回転すると、元のフリップ変換が連結されます。これは、回転によってこのフリップ変換が期待どおりに保持されているようです。
-(IBAction)rotateView:(UISlider*)sender {
float angle = sender.value;
selectedView.rotation = angle;
[selectedView setTransform:CGAffineTransformMakeRotation(angle)];
selectedView.transform = CGAffineTransformConcat(selectedView.transform, flipViewTrans);
}
ビューもうまく反転します。
-(IBAction)flipSickerH:(GradientButton*)sender {
viewFlipTrans = CGAffineTransformMakeScale(-1, 1);
selectedView.transform = CGAffineTransformConcat(selectedView.transform, viewFlipTrans);
}
問題は、上記のようにフリップを行った後に回転すると、期待どおりの結果が得られないことです。視界が急に反対方向にひっくり返る。
起こっていることは、連結された変換がリセットされているため、唯一の変換は回転です。したがって、この場合、回転コードの連結が失敗する可能性があります。
私が何をする必要があるかについての手がかりはありますか?