如何设置图像UniformToFill拉伸模式

时间:2016-07-25 12:36:27

标签: ios xcode-storyboard

我来自XAML世界,我们的图像拉伸模式为FillUniformToFillUniform。我的目标是在我的iOS应用中实现UniformToFill模式。在iOS中,我遇到了ScaleToFillAspectToFitAspectToFill以及其他许多人。它们都不符合我的要求。

所需行为:布局中的UIImageView(图像容器)大小保持不变。根据{{​​1}}的固定大小缩放图像并保持图像本身的纵横比。在匹配任一侧(垂直,水平)时,剪切图像的其余部分。

为了更好地说明,这是截图;我希望从左起第三位。

Image stretch mode

3 个答案:

答案 0 :(得分:0)

那是.ScaleAspectFill的作用。

您说的是UIImage作为容器?我想你应该研究UIImageView。这样的事情会起作用(用Swift写的,但很容易适应Objective-C

let image = UIImage(named: "your_image")
let imageView = UIImageView(image: image)
imageView.contentMode = .ScaleAspectFill

答案 1 :(得分:0)

我认为您应该将UIViewContentModeScaleAspectFill设置为图片视图的内容模式。

您可以参考Apple documentation了解更多详情。

它陈述了scaleAspectFill

  

缩放内容以填充视图大小的选项。一些   可以剪切内容的一部分以填充视图的边界。

scaleAspectFit

  

通过保持纵横比来缩放内容以适合视图大小的选项。视图边界的任何剩余区域都是透明的。

尝试两者感受真正的差异。

答案 2 :(得分:0)

XAML到iOS的转换如下。

Fill = ScaleToFill

Uniform = AspectToFit&

UniformToFill = AspectToFill

这是完全匹配。如果你没有得到这个结果,那就意味着你在其他方面做错了。否则,这是完美的匹配。