我试图在故事板中这样做,但似乎无法弄明白。我有一个QR码(方形UIImageView)居中(垂直和水平)在另一个UIView,我想根据手机大小扩展一点,但我不希望它超过150x150,否则它看起来很奇怪。这是我试过的。非常感谢任何帮助。
答案 0 :(得分:2)
你想要:
所以,居中很明显(耶,自动布局)。 1:1的比例也很容易。诀窍是:
将所有4个边固定在>= 0
的超视图边。
设置Width <= 150
。
然后---
设置 另一个 Width
约束,这次Width Equals: 150
但少于Priority > 1000
。我使用999
并完成了这项工作。
当超视图小于150(在任一方向上)时,用>= 0
固定边和顶部/底部会使其缩小。
答案 1 :(得分:0)
我已经使用了很长时间了。
(UIImage*) scaleImage:(UIImage*)image toSize:(CGSize)newSize {
CGSize scaledSize = newSize;
float scaleFactor = 1.0;
if( image.size.width > image.size.height ) {
scaleFactor = image.size.width / image.size.height;
scaledSize.width = newSize.width;
scaledSize.height = newSize.height / scaleFactor;
}
else {
scaleFactor = image.size.height / image.size.width;
scaledSize.height = newSize.height;
scaledSize.width = newSize.width / scaleFactor;
}
UIGraphicsBeginImageContextWithOptions( scaledSize, NO, 0.0 );
CGRect scaledImageRect = CGRectMake( 0.0, 0.0, scaledSize.width,
scaledSize.height );
[image drawInRect:scaledImageRect];
UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scaledImage;
}