我想将视图的转换设置为另一个视图。例如,我有UIImageView
,我希望在第一个UIImageView
中使用相同的转换。
我尝试使用CGAffineTransformMakeRotation
来制作它,但我不知道如何获得第一个UIImageView
的相对角度来进行旋转。也许它可以以不同的方式完成?
我拍了一张照片来解释我想要得到的效果:
致以最诚挚的问候,
编辑:我想把第二个放在与第一个相同的位置。不在同一个地方,但与屏幕的边界具有相同的角度。答案 0 :(得分:2)
只需要将一个视图的转换分配给另一个视图。 例如
self.imageView1.transform = CGAffineTransformMakeRotation( 45.0/180*M_PI );
self.imageView2.transform = self.imageView1.transform;
imageView2 将与 ImageView1 相同。
答案 1 :(得分:1)
好的,你可以得到你的第二张图片视图的transform
(20)标记的图像使用该变换来设置第四张图片视图(在你的图片中),例如,
CGAffineTransform currentTransform = self.imageView_2.transform; //say image view rotated transform
self.imageView_4.transform = currentTransform; //last image set its transform to any view that u want to rotate
修改:2 强>
我不能得到你想要的东西,如果你想把它放在某个地方,首先设置frame
然后应用变换,比如
self.imageView_3.frame = self.imageView_1.frame; //set the place where u want to place,
CGAffineTransform currentTransform = self.imageView_2.transform;
self.imageView_3.transform = currentTransform;
编辑3
如果你想旋转回正常然后使用如下
self.imageView_3.frame = self.imageView_1.frame; //set the place where u want to place,
CGAffineTransform currentTransform = self.imageView_2.transform;
self.imageView_3.transform = CGAffineTransformIdentity;//currentTransform; //brings back to original
//set the position where u want to place
答案 2 :(得分:1)
此处使用transform
的属性CGAffineTransformMakeRotation
和方法imageView
可以做到这一点。
e.g。
self.imageView.transform = CGAffineTransformMakeRotation( rotation degree in decimal /180*M_PI);
使用动画块进行相应的动画处理。
[UIView animateWithDuration:1.0 animations:^{
self.imageView.transform = CGAffineTransformMakeRotation( 180.0/180*M_PI);
} completion:^(BOOL finished){
}];
修改强>
要将imageView
与另一个相同,您可以通过指定轮换transform
的{{1}}属性来执行此操作,请参阅下面的代码。
imageView