【发布时间】:2011-01-25 01:16:50
【问题描述】:
我有一堆不同比例的 UIImageView。有些是 100x101,有些是 130x121。
如何将这些遮罩为 80x80 并且不拉伸图像?我基本上只想掩盖每个正方形。 (有点像 Apple 的照片缩略图视图)
【问题讨论】:
标签: iphone objective-c ios uiimageview uiimage
我有一堆不同比例的 UIImageView。有些是 100x101,有些是 130x121。
如何将这些遮罩为 80x80 并且不拉伸图像?我基本上只想掩盖每个正方形。 (有点像 Apple 的照片缩略图视图)
【问题讨论】:
标签: iphone objective-c ios uiimageview uiimage
最后,要制作圆角,请使用以下代码,并在实现文件的开头导入 QuartzCore/QuartzCore.h。
CALayer * layer = [myImageView layer];
[layer setMasksToBounds:YES];
[layer setCornerRadius:12.0f];
已编辑:是的,我所说的尺寸是指框架,W 和 H:
【讨论】:
UIViewContentModeScaleAspectFill 将图像缩放到视图的边界——只有在纵横比不同时才会裁剪。鉴于@NicHubbard 的描述,我认为他需要UIViewContentModeCenter,这将导致图像绘制全尺寸,并且该图层将遮盖除中心 80x80 部分以外的所有部分。
设置其内容模式UIViewContentMode,您可能正在寻找UIViewContentModeScaleAspectFit或UIViewContentModeScaleAspectFill。
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 80, 80)];
[imageView setContentMode:UIViewContentModeScaleAspectFit];
[imageView setImage:[UIImage imageNamed:@"myImage.png"];
.
.
.
【讨论】: