Я видел некоторые материалы в Интернете, но до сих пор не могу добраться до места, где я хочу. Мне нужно анимировать мой взгляд вниз, делая его ростом больше.Как анимировать при изменении размера UIView
Вот мой код. То, что происходит здесь, заключается в том, что вместо изменения размера моего представления он просто немного меняет свое местоположение. Если я изменю proprty вместо "bounds.size", чтобы быть "transform.scale.y", он немного лучше, только на этот раз он расширяет представление вверх и вниз, а не только вниз.
Другая вещь, которой я не являюсь: эти ключи являются только свойствами CALayer? где я могу найти список этих ключей?
Я бы очень признателен за помощь здесь. Благодаря!
int x = self.btnHead.frame.origin.x;
int y = self.btnHead.frame.origin.y;
int height = self.btnHead.frame.size.height;
int width = self.btnHead.frame.size.width;
CABasicAnimation *resizeAnimation = [CABasicAnimation animationWithKeyPath:@"bounds.size"];
[resizeAnimation setToValue:[NSValue valueWithCGSize:CGSizeMake(width,height+50)]];
resizeAnimation.fillMode = kCAFillModeForwards;
resizeAnimation.removedOnCompletion = NO;
CAAnimationGroup *animationGroup = [CAAnimationGroup animation];
animationGroup.animations = [NSArray arrayWithObjects:resizeAnimation,nil];
animationGroup.removedOnCompletion = NO;
animationGroup.fillMode = kCAFillModeForwards;
animationGroup.removedOnCompletion=NO;
animationGroup.duration = 0.1;
[self.btnHead.layer addAnimation:animationGroup forKey:@"animations"];
Edit: разместить свой первый код, запрошенную - Это будет просто изменить размер представления, но не будет анимировать, независимо от продолжительности я вхожу.
int x = self.btnHead.frame.origin.x;
int y = self.btnHead.frame.origin.y;
int height = self.btnHead.frame.size.height;
int width = self.btnHead.frame.size.width;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:10];
CGRect rect = CGRectMake(x,y,width ,height+BUTTON_HEIGH*2);
self.btnHead.frame = rect;
[UIView commitAnimations];
Я предполагаю, что установка 'btnHead.clipsToBounds = YES' эффективно заставляет изменить настройки типа «btnHead.contentMode = UIViewContentModeRedraw». Однако в документации ничего не говорится. Вероятно, это происходит потому, что очень вероятно, что изменение «ограничений» представления с включенным обрезкой покажет части своей иерархии представлений, которые раньше не были видны. Вот как работают прокрутки. –