我在IB(Xcode 5)中调整图像大小时遇到了一个奇怪的问题。首先,我拖累在 storyBoard 中的UIImageView
上放置viewController
。然后,我调整大小并为其设置图像,该图像正常工作。但是,一旦我尝试在设置图像后调整UIImageView
控件的大小,它就会开始表现奇怪。有时候它会占据完整的viewController
,有时候它会变得如此之大以至于它超出范围。
我试图设置一个较小的图像,但它导致了更奇怪的行为。现在,如果我尝试调整它的大小,有时它无法通过拖动来调整大小。有时UIImageView
会正确调整大小,但所包含的图像大小保持不变。有什么建议吗?
使用Xcode 4时没有发生这种情况。
答案 0 :(得分:2)
这里有两个问题。
要将图片调整为与图片视图相同的尺寸,必须将其内容模式设置为UIViewContentModeScaleToFill
,UIViewContentModeScaleAspectFit
或UIViewContentModeScaleAspectFill
。您可以在属性检查器中进行此设置。
注意:如果您不这样做,那么图像将以其自己的自然尺寸显示。如果图像很大,它将显示巨大。而且,即使图像视图很小,它也会显示得很大,因为图像视图不会剪切其图像。如果您希望图像视图剪切其图像(以便您可以看到图像视图的边界实际位置),请将图像视图的剪辑设置为边界(
clipsToBounds
)。同样,您可以在属性检查器中进行此设置。
在Xcode 5中,您默认使用自动布局。这意味着默认情况下图像视图具有其图像的大小。如果您不想这样,则必须使用约束来设置图像视图的高度和宽度。然后,您可能还必须使用约束来设置其位置。在Interface Builder中的所有自动布局警告都得到处理之前,请不要运行应用程序,否则您将在运行时获得惊喜。