使用子视图移动UIView

时间:2012-03-05 18:43:50

标签: ios uiview uiimageview

我想要一个带有两个UIImageView子视图的视图(UIView), 然后在屏幕上移动两个图像(同时)。

在方案1中,我创建了一个带有屏幕尺寸的UIView,并将其保留, 然后移动两个子视图的中心点。在方案2中,我创建 UIView两张图片的大小,并在屏幕上移动UIView中心点。

我原以为最终结果是一样的,但事实并非如此。 为什么不呢?

方案1:

UIView mainView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIImageView firstImage = [[UIImageView alloc] initWithFrame:muchSmallerRect];
UIImageView secondImage = [[UIImageView alloc] initWithFrame:muchSmallerRect];
[mainView addSubview:firstImage];
[mainView addSubview:secondImage];
firstImage.center = someSpecificPoint;
secondImage.center = someSpecificPoint;

方案2:

UIView mainView = [[UIView alloc] initWithFrame:muchSmallerRect];
UIImageView firstImage = [[UIImageView alloc] initWithFrame:muchSmallerRect];
UIImageView secondImage = [[UIImageView alloc] initWithFrame:muchSmallerRect];
[mainView addSubview:firstImage];
[mainView addSubview:secondImage];
mainView.center = someSpecificPoint;

1 个答案:

答案 0 :(得分:0)

你在谈论两种不同的坐标系。 mainView.center在包含mainView的视图的坐标系中表示,而firstView.centersecondView.center则以mainView的坐标系表示。您当然可以通过移动包含它们的视图将firstViewsecondView移动到一起,但如果您希望通过移动两个视图获得相同的结果,则需要在这两个坐标系之间进行转换自己。