图像不适合UIImageView

时间:2015-01-19 12:27:16

标签: ios uiimageview contentmode

我是iOS开发的初学者,并且遇到了以下问题。

在.xib文件中,我有按钮和imageview,如下图所示。

enter image description here

现在,我执行了以下操作以在图像视图中显示图像并在.m文件中设置内容模式。

UIImage *save = UIGraphicsGetImageFromCurrentImageContext();
self.ivCard.image = save;
self.ivCard.contentMode = UIViewContentModeScaleAspectFit;
self.ivCard.clipsToBounds = YES;

现在结果如下图所示。

enter image description here

原始图像的分辨率为2000x1000,此处为

enter image description here

图像从右侧自动裁剪,应该适合图像视图。

1 个答案:

答案 0 :(得分:0)

有两种方法可以实现它。

  1. 您可以使用.xib文件或以编程方式为图像视图添加约束和约束,如下所示:

    //从左右对齐ivCard

     [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[ivCard]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(ivCard)]];
    

    //从顶部和底部对齐ivCard

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[ivCard]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(ivCard)]];
    
  2. 您可以使用以下代码直接为图像视图设置框架:

    CGFloat btnHeight = 20; // Your back button height from xib
    
    self.ivCard.frame = CGRectMake(0, btnHeight, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - btnHeight);