0

我有一个宽度为 768 像素的背景图像,如下所示。而且我有几个较小的图像需要放置在它们所在的位置。例如,蓝色的需要定位在 40、120。

在此处输入图像描述

当用户将设备方向更改为横向时会出现问题。背景图像位于中心(编辑器>对齐>容器中的水平中心)。所以背景图像在中心水平布置。系统自动将蓝色图像的 x 坐标设置为 40,而不是距离背景图像边缘的 40 个像素。所以小家伙们错位了。(预期位置以白色显示。)

在此处输入图像描述

那么我该怎么做才能根据背景图像的位置布置小家伙呢?我已经做了很多事情,比如选择背景图片和相应的小家伙,然后选择编辑器 > 引脚 > 水平间距。没有任何效果。在这种情况下,无论设备方向如何,都可以保持相对位置吗?还是我应该不使用“自动布局”?第二个最佳选择是不定位背景图片。但是当用户将方向更改为横向时,应用程序看起来并不好。

4

2 回答 2

1

将小孩嵌入到背景图片中(全部嵌入到容器 UIView 中!)

坐标总是相对于外部容器

于 2012-11-30T15:21:09.377 回答
0

我以某种方式将它们放在 UIScrollView 组中,然后像下面这样将它们作为一个整体移动。

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation duration:(NSTimeInterval)duration {
if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
    uiscrollview1.Frame=CGRectMake(uiscrollview1.frame.origin.x, uiscrollview1.frame.origin.y, uiscrollview1.frame.size.width, uiscrollview1.frame.size.height);
}
else
{
    uiscrollview1.Frame=CGRectMake(uiscrollview1.frame.origin.x+128, uiscrollview1.frame.origin.y, uiscrollview1.frame.size.width, uiscrollview1.frame.size.height);
}
}

这是迄今为止最好的结果。

于 2012-11-30T16:27:43.160 回答