iPhone:将不同尺寸的 UIImageView 屏蔽为方形尺寸
Posted
技术标签:
【中文标题】iPhone:将不同尺寸的 UIImageView 屏蔽为方形尺寸【英文标题】:iPhone: Mask UIImageView of differing dimensions into square dimension 【发布时间】:2011-01-25 01:16:50 【问题描述】:我有一堆不同比例的 UIImageView。有些是 100x101,有些是 130x121。
如何将这些遮罩为 80x80 并且不拉伸图像?我基本上只想掩盖每个正方形。 (有点像 Apple 的照片缩略图视图)
【问题讨论】:
【参考方案1】:-
将图像视图的大小设置为 80 x 80
将图像视图的 contentMode 属性设置为 UIViewContentModeScaleAspectFill
最后,要制作圆角,请使用以下代码,并在实现文件的开头导入 QuartzCore/QuartzCore.h。
CALayer * layer = [myImageView layer];
[layer setMasksToBounds:YES];
[layer setCornerRadius:12.0f];
已编辑:是的,我所说的尺寸是指框架,W 和 H:
【讨论】:
你说设置图像视图的大小。你是说框架吗?UIViewContentModeScaleAspectFill
将图像缩放到视图的边界——只有在纵横比不同时才会裁剪。鉴于@NicHubbard 的描述,我认为他需要UIViewContentModeCenter
,这将导致图像绘制全尺寸,并且该图层将遮盖除中心 80x80 部分以外的所有部分。【参考方案2】:
设置其内容模式UIViewContentMode,您可能正在寻找UIViewContentModeScaleAspectFit
或UIViewContentModeScaleAspectFill
。
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 80, 80)];
[imageView setContentMode:UIViewContentModeScaleAspectFit];
[imageView setImage:[UIImage imageNamed:@"myImage.png"];
.
.
.
【讨论】:
以上是关于iPhone:将不同尺寸的 UIImageView 屏蔽为方形尺寸的主要内容,如果未能解决你的问题,请参考以下文章
在 4 英寸 iphone 上查看时 UIImageView 正在向下移动
IPHONE - 以不同时间淡入和淡出 UIImageView
如何以不同的 iPhone/ipad 尺寸将我的应用程序上传到 App Store
UIImageView 在不同设备上保留情节提要“预览屏幕边界” - 框架不根据屏幕尺寸更新