在调整视图大小时进行动画制作

时间:2014-12-22 20:07:11

标签: ios

我的视图包含许多不同大小的气泡。我正在尝试创建一个可以缩放到气泡中的动画,每次都使它变成相同的大小,并将其置于我的视图中。这将导致所有气泡变焦,直到有问题的气泡尺寸正确。气泡应该在整个过程中保持相同的比例,这样如果一个气泡移动,所有其他气泡移动的量相同且方向相同。如果一个人成长,他们都会按比例增长。

我已经创造了动画以使气泡居中,所有其他气泡按比例移动。当我试图使气泡生长时出现问题。一旦我添加了成功地使气泡按比例增长的线波纹,将气泡移动到气泡中心的代码不再将气泡移动到正确的点。我无法弄清楚如何使泡沫生长并移动到正确的位置。

要移动气泡(需要从顶部开始22p并水平居中,64p尺寸为64p),这会成功地将气泡移动到正确的位置,而不会将它们增长到正确的大小:

float distanceFromTop = 22 - bubble.frame.origin.y;
float distanceFromLeft = self.frame.size.width / 2 - bubble.center.x;

[UIView animateWithDuration:1 animations:^{
    self.currentKarmaView.frame = CGRectMake(distanceFromLeft, distanceFromTop, self.currentKarmaView.frame.size.width, self.currentKarmaView.frame.size.height);
}];

为了使气泡生长,我添加了以下线,这应该使气泡生长并将它们移动到正确的位置。随着增长的增加,气泡仍在移动,而不是正确的位置。

float distanceFromTop = 22 - bubble.frame.origin.y;
float distanceFromLeft = self.frame.size.width / 2 - bubble.center.x;

[UIView animateWithDuration:1 animations:^{
    self.currentKarmaView.frame = CGRectMake(distanceFromLeft, distanceFromTop, self.currentKarmaView.frame.size.width, self.currentKarmaView.frame.size.height);
    self.currentKarmaView.transform = CGAffineTransformScale(CGAffineTransformIdentity, scaleFactor, scaleFactor);
}];

我尝试了很多这方面的变化,但无法让增长和定位齐心协力。如果有人可以提供帮助,我会非常感激。

0 个答案:

没有答案