Diese Methode wird aufgerufen, nachdem ich ein Foto der Größe:setBound Breite und Höhe
- (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];
}
Es die Fotogröße rundet; eine Breite von 66 wird auf 50, 178 bis 200 usw. gerundet. Es funktioniert gut, wenn ich die setFrame-Methode verwende, aber weil ich auch mit Rotation arbeite, möchte ich mit setBounds arbeiten.
Wenn ich setBounds verwende, ändert sich die Größe der Ansicht, aber anstatt die Größe auf eine gerundete Zahl wie 300 zu ändern, wurde die Größe auf eine zufällige Größe wie 311.23 geändert.
Fehle ich hier etwas?