(自动调整蒙版)具有固定高度的图像的灵活宽度

时间:2011-03-02 15:15:48

标签: iphone width mask autoresize

我一直在玩iPhone界面,仅使用代码而不使用IB。

现在我面临以下问题:

如何将图像设置为具有基于其所在主视图的宽度,并使其具有例如两侧50像素的边距。 (它也应该与旋转一起使用,因此宽度应该是灵活的)。

我尝试使用frame.size.width设置大小 - 例如50但是当屏幕旋转时这不起作用。我尝试的另一件事是使用自动调整遮罩,但我并不完全理解它是如何工作的。

是否还需要为图像设置一个框架,还是被自动调整遮罩完全否定了?如果它被推翻,我怎么能给图像一个固定的高度和一个灵活的宽度?

我正在使用的书(高级iOS4编程)在这个问题上并不是很清楚,我在网上找到的大多数例子都是用于界面构建器的。

感谢您的时间。

亲切的问候, 碧玉

2 个答案:

答案 0 :(得分:50)

水平:

  • 调整大小,保持固定的左/右边距:UIViewAutoresizingFlexibleWidth
  • 保持尺寸与左侧相同的距离:UIViewAutoresizingFlexibleRightMargin
  • 保持身材,保持中心:UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin
  • 保持尺寸与右侧距离相同:UIViewAutoresizingFlexibleLeftMargin

垂直:

  • 调整大小,保持固定的上/下边距:UIViewAutoresizingFlexibleHeight
  • 保持尺寸与顶部的距离相同:UIViewAutoresizingFlexibleBottomMargin
  • 保持身材,保持中心:UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin
  • 保持尺寸与底部距离相同:UIViewAutoresizingFlexibleTopMargin

将第一部分中的一部分与第二部分中的一部分合并为|。例如,要让它水平调整大小并保持与顶部垂直相同的大小和距离,您可以使用UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin

您可以使用其他组合来做一些棘手的事情,但这些是基础知识。

答案 1 :(得分:0)

你可能想要这个:

[myImageView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];

这样可以保持边距不变并调整宽度。