就像我在标题中所说的那样,我试图动画一个有几个UIButtons作为子视图的UIView。我的目标是使视图的框架和按钮更大。这是我的代码:
// Animate Frame Changes
[UIView animateWithDuration:0.5 animations:^ {
self.frame = CGRectMake(200, 50, 700, 600);
for (UIView *subview in self.subviews) {
if ([subview isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)subview;
button.frame = CGRectMake((button.frame.origin.x * 2) , (button.frame.origin.y * 2), (button.frame.size.width * 2), (button.frame.size.height * 2));
}
}
}];
代码本身工作正常。但是,按钮的移动方式比父视图更快,这使得动画看起来有点尴尬。
以相同的速度制作动画的最佳方式是什么?
答案 0 :(得分:0)
这是我决定采用的解决方法。我发布它以防万一有人有同样的问题。在我上面发布的代码中,我正在更改帧的所有属性,这会导致不同视图和子视图的动画速度不均匀。为了消除这种影响,我只改变了x,y坐标而不是整个帧,然后我将CGAffineTransform应用到我的整体视图中,放大了所有内容。