Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 设置UIView动画问题(将展开动画与收缩动画匹配)_Iphone_Animation_Uiview - Fatal编程技术网

Iphone 设置UIView动画问题(将展开动画与收缩动画匹配)

Iphone 设置UIView动画问题(将展开动画与收缩动画匹配),iphone,animation,uiview,Iphone,Animation,Uiview,我正在尝试设置UIView的动画,以便它可以在点击按钮时变大,并通过再次点击按钮缩小到其原始大小 为此,我将框架调整为新的大小和原点,并运行下面的代码 [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:1.5]; [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; self.theView.frame = frame; [UIView com

我正在尝试设置UIView的动画,以便它可以在点击按钮时变大,并通过再次点击按钮缩小到其原始大小

为此,我将框架调整为新的大小和原点,并运行下面的代码

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
self.theView.frame = frame;
[UIView commitAnimations];
当设置更大尺寸的动画时,动画应该是这样的。但当设置动画到其原始大小(更小)时,视图会立即重新调整大小,然后设置动画到其指定位置

我需要的是,大小调整到较小的帧是动画以及

我也尝试过调整autoresizingMask,但没有改变任何事情

希望有人能帮忙

谢谢。

试试这个

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationRepeatAutoreverses:YES];
self.theView.frame = frame;
[UIView commitAnimations];
回应评论

如果要控制动画反转,请使用类似于
BOOL isbig
的标志,并在app launch中将其设置为“否”,然后在每次点击按钮时将其切换,然后检查其是否为“是”,并根据结果调用一个方法。如果没有,请调用代码,如果没有,请再次调用代码,但这次将帧设置为原始大小

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
self.theView.frame = originalFrame;
[UIView commitAnimations];

我可以通过在其他线程中找到的建议来解决这个问题,但它有自己的局限性。我在建议解决方案的同一个线程中发布了代码:

米切尔,拉吉

我制作了一个youtube教程,展示了如何使视图像facebook iPhone应用程序那样扩展和收缩

希望能有所帮助:


Adam

在发布我的应用程序时,我通过删除动画解决了这个问题。 它一直困扰着我,所以就在本周,我想也许通过使用中心属性和大小而不是原点,它会有所不同

所以我决定测试一下。猜猜看。使用sdk 4.x时不会出现此问题


谢谢大家帮助我。

这会自动反转动画。我要找的是匹配扩展动画和收缩动画。现在缩小的动画立即调整到较小的大小,而不是动画。请参阅更新,如果我理解正确,这应该是好的。谢谢你的信息。但我就是这么做的。根据我的标志,我用bigFrame或smallFrame调用动画。问题是,当你要大展身手时,动画是完美的。当变小时,UIView framesize会立即更新,然后较小的帧会移动到其新坐标。我所期待的是像动画一样的大,帧大小和帧位置会逐渐更新。这并没有发生。现在我删除了动画。我只是不明白为什么反转的动画不是完全一样的(而是反转的)。米切尔我只记得同样的问题曾经困扰过我。我正试图像你说的那样调整UIView的大小。我已经用UIImageView而不是UIVIew解决了这个问题。我像按钮一样使用它,我创建了一个自定义按钮,它后面有UIImageView,它工作得很完美,相信我。当我尝试在原点和宽度/高度都发生更改的情况下将视图设置为更大尺寸的动画时,会立即重新调整视图的大小,然后将其设置为新位置的动画。这与你所引用的内容相似,但在我试图放大视图时会发生。代码与上面发布的代码完全相同。这个问题的原因可能是什么?你是怎么解决的?为了子孙后代和将来的参考,请给出您的答案,以便其他人受益。