objective-c 我想点击一下按钮,使按钮能出现一个动画移动效果,请高手指教!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了objective-c 我想点击一下按钮,使按钮能出现一个动画移动效果,请高手指教!相关的知识,希望对你有一定的参考价值。

我尝试过用代码绘制的按钮和build中拖拽的按钮,使用while、for循环来控制按钮下标不断改变来显示动画移动效果,但是循环过程中的按钮位置都不显示,只有显示循环结束以后的按钮位置。谁有更好的办法能实现点击按钮以后按钮游走的效果呀?

首先,你是指mac开发的按钮NSButton,还是iphone的UIButton,
如果是NSButton,在设置frame属性的同时要调用 [btn setNeedsDisplay],这个是要求按钮重绘。即调用drawRect方法。。
如果是UIButton,那直接设置frame属性就可以拉,当然 也可以不要循环一直去设置。。可以这样:
btn.frame = CGRectMake(0,0,40,25);
[UIVIew beginAnimation:nil context:NULL];
[UIVIew setAnimationDuration:0.5];
btn.frame = CGRectMake(100,100,40,25);
[UIVIew commitAnimation];
这样放在动画块中,只需要设置 初始的位置 和动画结束的 位置就可以了。。
参考技术A princess0502说的方法是可行的,还可以使用NSTimer,每隔一段时间改变一次坐标,直到到达你要的位置时,再停止NSTimer,具体使用方法百度有一大堆就不细说了。。至于你用while,for循环,怎么都不会有移动效果的。。要说原因的话,应该是运行太快了,以至于你看不到中间过程而只能看到起始和结束。。。本回答被提问者采纳 参考技术B 用CoreAnimation一个动画不就行了。
干嘛要写循环啊?
参考技术C 有直接的可以调用

以上是关于objective-c 我想点击一下按钮,使按钮能出现一个动画移动效果,请高手指教!的主要内容,如果未能解决你的问题,请参考以下文章

objective-c中按钮的点击问题……

如何在Objective-C中的按钮上制作3个可点击区域

如何使视图出现在按钮上?目标-c

如何使用 Objective-C 以编程方式使我的 UIView 可水平滚动?

按钮上的 zIndex -1 使按钮无法点击

一个图像按钮中有许多点击器