【问题标题】:iPhone: Mask UIImageView of differing dimensions into square dimensioniPhone:将不同尺寸的 UIImageView 屏蔽为方形尺寸
【发布时间】:2011-01-25 01:16:50
【问题描述】:

我有一堆不同比例的 UIImageView。有些是 100x101,有些是 130x121。

如何将这些遮罩为 80x80 并且不拉伸图像?我基本上只想掩盖每个正方形。 (有点像 Apple 的照片缩略图视图)

【问题讨论】:

    标签: iphone objective-c ios uiimageview uiimage


    【解决方案1】:
    1. 将图像视图的大小设置为 80 x 80
    2. 将图像视图的 contentMode 属性设置为 UIViewContentModeScaleAspectFill
    3. 最后,要制作圆角,请使用以下代码,并在实现文件的开头导入 QuartzCore/QuartzCore.h

      CALayer * layer = [myImageView layer];
      [layer setMasksToBounds:YES];
      [layer setCornerRadius:12.0f];
      

    已编辑:是的,我所说的尺寸是指框架,WH

    【讨论】:

    • 你说设置图像视图的大小。你是说框架吗?
    • UIViewContentModeScaleAspectFill 将图像缩放到视图的边界——只有在纵横比不同时才会裁剪。鉴于@NicHubbard 的描述,我认为他需要UIViewContentModeCenter,这将导致图像绘制全尺寸,并且该图层将遮盖除中心 80x80 部分以外的所有部分。
    【解决方案2】:

    设置其内容模式UIViewContentMode,您可能正在寻找UIViewContentModeScaleAspectFitUIViewContentModeScaleAspectFill

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 80, 80)];
    [imageView setContentMode:UIViewContentModeScaleAspectFit];
    [imageView setImage:[UIImage imageNamed:@"myImage.png"];
    .
    .
    .
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-18
      • 2020-12-26
      • 2012-04-10
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      相关资源
      最近更新 更多