我正在尝试为UIView设置动画,以便在点击按钮时可以变大,然后再次点击按钮缩小到原始尺寸。
我是通过将帧调整为新的大小和原点并运行下面的代码来实现的。
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
self.theView.frame = frame;
[UIView commitAnimations];
当制作更大尺寸的动画时,动画应该如何。但是当动画到原始大小(较小)时,视图会立即重新调整大小,然后动画到指定位置。
我需要的是调整较小帧的大小也是动画。
我也尝试过调整autoresizingMask,但这并没有改变任何东西。
希望有人可以提供帮助。
感谢。
答案 0 :(得分:3)
Michiel,Raj,
我制作了一个youtube教程,展示了如何在Facebook iPhone应用程序中扩展和缩小视图。
希望它可以提供一些帮助:How to make expanding/shrinking views on iPhone SDK
亚当
答案 1 :(得分:0)
试试这个
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationRepeatAutoreverses:YES];
self.theView.frame = frame;
[UIView commitAnimations];
回复评论;
如果你想控制动画反向,有一个像BOOL isbig
的标志,并在应用程序启动中设置为NO,然后在每个按钮点击切换它,然后检查它是否是或否,并根据结果调用一个方法。如果为NO,请调用您的代码,如果没有再次调用代码,则这次将帧设置为原始大小。
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
self.theView.frame = originalFrame;
[UIView commitAnimations];
答案 2 :(得分:0)
我可以通过其他线程中的建议解决问题,但它有其自身的局限性。我已将代码发布到建议解决方案的同一个线程中:
答案 3 :(得分:0)
我通过删除动画来释放我的应用程序时解决了这个问题。 它一直困扰着我,所以就在本周,我认为可能通过使用中心属性和大小而不是原点它会产生影响。
所以我决定测试一下。你猜怎么着。使用sdk 4.x
时不会发生此问题感谢所有人试图帮助我。