0

我有一个视图,其中有两个UIImageViews. 底部保存一张图像,该图像是用户拍摄/选择的照片。

顶部包含带有透明圆圈的半透明图像。顶部UIImageView可以通过手势平移来移动。

当 VCviewDidAppear计算图像的一些比率并找到底部图像的新帧时。我还找到了移动的顶视图的中心点。

使用这个中心点,我计算中心点在原始图像尺寸上的位置。然后旋转设备时,我重新计算尺寸/比率。我现在正在尝试根据新的计算更新屏幕上的顶部图像视图位置。从我的日志中,我看到这些值似乎是正确的,但视图没有按预期移动。没有移动发生。

float newX = self.centerPointOnOriginalImage.x * self.scaleDownOriginalImageRatio;
float newY = self.centerPointOnOriginalImage.y * self.scaleDownOriginalImageRatio;
NSLog(@"The new center point for the photo mask view is: %@",NSStringFromCGPoint(CGPointMake(newX, newY)));
self.photoMaskView.center = CGPointMake(newX, newY);
// Find out how to move a view with transform here as the view is not moving as expected
NSLog(@"The view was moved to here: Center: %@",NSStringFromCGPoint(self.photoMaskView.center));

我是否需要使用 CGAffineTransform 移动顶部UIImageView( self.photoMaskView.center) 中心点才能真正使视图移动,如果需要,我该怎么做?

4

1 回答 1

0

将中心点的移动放在viewDidLayoutSubviews工作中。

于 2013-08-07T19:56:19.897 回答