在我调整照片大小后调用此方法:
- (void)correctSize:(UIView*)view{
//check if the newWidth is rounded by 50
CGFloat correctWidth = roundf(_lastScale*_lastWidth/XPCollageGridHorizontalStepSize) * XPCollageGridHorizontalStepSize;
CGFloat correctHeight = roundf(_lastScale*_lastHeight/XPCollageGridVerticalStepSize) * XPCollageGridVerticalStepSize;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5f];
[view setBounds:CGRectMake(view.bounds.origin.x, view.bounds.origin.y, correctWidth, correctHeight)];
//[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, correctWidth, correctHeight)];
[UIView commitAnimations];
}
它使照片大小四舍五入;66 的宽度将四舍五入为 50、178 到 200 等。当我使用 setFrame 方法时它工作正常,但因为我也使用旋转我想使用 setBounds。
当我使用 setBounds 时,视图将调整大小,但不是调整为像 300 这样的舍入数字,而是将其调整为随机的 311.23。
我在这里错过了什么吗?