贴边缩放尺寸

贴边缩放,指的是父子视图中,子视图保持宽高不变,子视图长边或宽边紧贴父视图父内边或指定的宽高。

下面提出这种算法是实现方式。

1
2
3
4
5
6
7
8
9
10
- (CGSize)size:(CGSize)size fitInSize:(CGSize)inSize {
if (!size.height || !size.width) {
return CGSizeZero;
}
CGFloat width = inSize.width;
CGFloat height = size.height / size.width * width;
height = fmin(height, inSize.height);
width = size.width / size.height * height;
return CGSizeMake(width, height);
}