UIViewContentModeCenter 添加填充
UIViewContentModeCenter Adds Padding
我想在 UIImageView
中显示各种尺寸图像的缩略图。如果图片太大放不下UIImageView
,我想只显示放满UIImageView
的照片数量,原图的中心在[=]的中心10=]。
我目前通过设置 imageView.clipsToBounds = YES;
和 imageView.contentMode = UIViewContentModeCenter;
来执行此操作。这几乎可以正常工作,除了在 UIImageView
的层内似乎有少量填充。当我尝试添加圆角半径时,我发现圆角没有完全圆化。
当我将 imageView.contentMode
保留为默认值时,图像两侧没有填充,但图像的缩放比例很奇怪,而不是我想要的。
为什么我在使用 UIViewContentModeCenter
时遇到这个问题,有没有办法解决它?如果没有,我如何即时裁剪图像,这样我就不必使用 UIViewContentModeCenter
,而只显示适合 UIImageView
的图像中心部分?
下面是 imageView.contentMode = UIViewContentModeCenter
视图的外观。查看左侧和右侧如何有额外的填充,尽管当我记录 imageView
的宽度和 x 原点时,它们看起来与上面的标签相同。
下面是与上面完全相同的代码,但使用 imageView.contentMode
的默认设置。查看没有添加填充,但图像变形。
我看到一些东西在你的 UIImageView 的左边和右边切了你。 UIImageView(带有 UIViewContentModeCenter)的宽度小于正常值。我不确定 UIViewContentModeCenter
你的问题。
但有一些解决方法:
将 UIImageView 添加到 UIView,使用 imageView.contentMode = UIViewContentModeCenter;
和 cornerRadius UIView。
为 UIImageView 使用掩码:How to Mask an UIImageView
希望对您有所帮助。
UIViewContentModeCenter 保持 imageView 的比例,因此,当您显示它时,可以显示填充,因为图像的高度大于宽度,反之亦然。
默认的contentMode是UIViewContentModeScaleToFill,所以当你使用它的时候,图片会向各个方向展开来填充imageView。这就是您看不到任何填充的原因。
如果你想填充 imageView 并保持图像比例,那么你应该使用 imageView.contentMode = UIViewContentModeScaleAspectFill
希望对您有所帮助
我想在 UIImageView
中显示各种尺寸图像的缩略图。如果图片太大放不下UIImageView
,我想只显示放满UIImageView
的照片数量,原图的中心在[=]的中心10=]。
我目前通过设置 imageView.clipsToBounds = YES;
和 imageView.contentMode = UIViewContentModeCenter;
来执行此操作。这几乎可以正常工作,除了在 UIImageView
的层内似乎有少量填充。当我尝试添加圆角半径时,我发现圆角没有完全圆化。
当我将 imageView.contentMode
保留为默认值时,图像两侧没有填充,但图像的缩放比例很奇怪,而不是我想要的。
为什么我在使用 UIViewContentModeCenter
时遇到这个问题,有没有办法解决它?如果没有,我如何即时裁剪图像,这样我就不必使用 UIViewContentModeCenter
,而只显示适合 UIImageView
的图像中心部分?
下面是 imageView.contentMode = UIViewContentModeCenter
视图的外观。查看左侧和右侧如何有额外的填充,尽管当我记录 imageView
的宽度和 x 原点时,它们看起来与上面的标签相同。
下面是与上面完全相同的代码,但使用 imageView.contentMode
的默认设置。查看没有添加填充,但图像变形。
我看到一些东西在你的 UIImageView 的左边和右边切了你。 UIImageView(带有 UIViewContentModeCenter)的宽度小于正常值。我不确定 UIViewContentModeCenter
你的问题。
但有一些解决方法:
将 UIImageView 添加到 UIView,使用
imageView.contentMode = UIViewContentModeCenter;
和 cornerRadius UIView。为 UIImageView 使用掩码:How to Mask an UIImageView
希望对您有所帮助。
UIViewContentModeCenter 保持 imageView 的比例,因此,当您显示它时,可以显示填充,因为图像的高度大于宽度,反之亦然。
默认的contentMode是UIViewContentModeScaleToFill,所以当你使用它的时候,图片会向各个方向展开来填充imageView。这就是您看不到任何填充的原因。
如果你想填充 imageView 并保持图像比例,那么你应该使用 imageView.contentMode = UIViewContentModeScaleAspectFill
希望对您有所帮助