【问题标题】:Make image smaller inside UIImageView在 UIImageView 内使图像更小
【发布时间】:2019-04-04 10:43:36
【问题描述】:

我有一个 UIImageView 显示信用卡的图像,我的问题是我想在它周围做寄宿生,所以信用卡不会接触 UIimageView 的边缘,我不想改变 UIImageView 在屏幕上的位置那我该怎么办?

image 1

image 2

(与蓝卡的例子不同,它不必只从侧面留出空格,它可以从所有侧面缩小)

【问题讨论】:

    标签: objective-c xcode uiimageview


    【解决方案1】:

    您基本上有 (3) 三个可以解决此问题的选项。

    1. 调整UIImageViewUIViewContentMode contentMode 使其正确显示图像(但这仅适用于您使用的图像在不触及边框的情况下缩放以适应.

    2. 改用 UIButton 并简单地调整图像插入直到您满意(只需禁用按钮或在此处将用户交互设置为 no 以“模仿”图像视图)

    3. 创建一个包装器方法,该方法将 new 图像创建为您想要的大小。像这样的东西应该可以正常工作

    CGSize size = CGSizeMake(< some width > , < some height >);
    

    然后使用您选择的尺寸创建一个新的图像捕获

    CGFloat scale = MAX(size.width/image.size.width, size.height/image.size.height);
    CGFloat width = image.size.width * scale;
    CGFloat height = image.size.height * scale;
    CGRect imageRect = CGRectMake((size.width - width)/2.0f,
                                  (size.height - height)/2.0f,
                                  width,
                                  height);
    
    UIGraphicsBeginImageContextWithOptions(size, NO, 0);
    [image drawInRect:imageRect];
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    return newImage;
    

    从这里你应该能够只应用边框宽度和颜色来获得你想要的结果!


    第四个 (4th) 选项可能是手动缩小图像(使用一些照片编辑器),以便它渲染(适合)到您的图像视图中,并在图像周围有适当的填充。不过,我认为其他方法更简单,也是最佳实践。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 2018-01-22
      • 2018-01-16
      • 2013-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多