[英]image doesn't fit in UIImageView
我是iOS开发的初学者,但遇到以下问题。
在.xib文件中,我具有按钮和imageview,如下图所示。
现在,我执行以下操作以在图像视图中显示图像并在.m文件中设置内容模式。
UIImage *save = UIGraphicsGetImageFromCurrentImageContext();
self.ivCard.image = save;
self.ivCard.contentMode = UIViewContentModeScaleAspectFit;
self.ivCard.clipsToBounds = YES;
现在,结果如下图所示。
原始图像的分辨率为2000x1000,在这里
图像会自动从右侧裁剪,应适合图像视图。
可以肯定的是,您没有向ImageView添加约束,因为ImageView的大小与设备的大小不同。
将约束从ImageView添加到Interface Builder的边框中,它将起作用。
检查: https : //developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraints/WorkingwithConstraints.html
有两种方法可以实现它。
您可以从.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)]];
您可以使用以下代码直接为图像视图设置框架:
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.