我有一个default: &default
adapter: postgresql
template: template0
encoding: unicode
username: <%= ENV['DB_USER'] %>
database: <%= ENV['POSTGRES_DB'] %>
host: <%= ENV['DB_HOST'] %>
pool: 5
timeout: 5000
development:
<<: *default
,其固定高度为40(约束高度为40),其中我通过代码设置了图像,该文件的尺寸为 64x64 。
结果应该是:
我添加了如下图像:
UIButton
我得到的结果是:
为image = [UIImage imageNamed:@"icon-clear"];
[self setImage:image forState:UIControlStateNormal];
添加了黑色边框,以实现更好的可视化效果。 imageView
的最终大小为 64x40 。
我猜发生的事情是imageView
获得了图像,并将其调整为 64x64 ,并通过按钮约束再次缩小为40,但保留了64的宽度。
我尝试了很多事情:
imageView
或
self.imageView.frame = CGRect(0,0,32,32);
self.imageView.bounds = CGRect(0,0,32,32);
或
let aspectRatioConstraint = [NSLayoutConstraint constraintWithItem:self.imageView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.imageView attribute:NSLayoutAttributeHeight multiplier:1.0 constant:0];
[self.imageView addConstraint:aspectRatioConstraint];
唯一发生视觉变化的是:
[self.imageView.widthAnchor constraintEqualToConstant:32];
但是最终图像质量差,我猜想是高性能问题。
我只想在多种尺寸的情况下使用pdf矢量文件。如何为按钮imageView提供固定大小的图片,UIGraphicsBeginImageContext(size);
[image drawInRect:CGRectMake(0, 0, size.width, size.height)];
UIImage *destImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
。
非常感谢!
答案 0 :(得分:0)
我终于通过在self.imageView.frame = CGRectMake(4, 4, 32, 32);
方法中添加- (void)layoutSubviews {}
来解决了这个问题。
所以
- (void)layoutSubviews {
[super layoutSubviews];
self.imageView.contentMode = UIViewContentModeScaleAspectFit;
self.imageView.frame = CGRectMake(4, 4, 32, 32);
}
做到了。