我是iphone开发新手,在阅读Apress.Beginning.Iphone4.Dev的过程中,不知道这是否是开发iphone应用程序的最佳方式。 那么我现在在第4章中,我已经完成了示例代码的实现,但是我想添加一个小模块。不断改变UIView背景颜色
- 按钮叫迪斯科
被按下时触摸的内心,将开始在不断变化的
self.view.backgroundColor
随机值的100倍 for循环。我的问题是背景仅在IBAction连接到按钮 disco后完成,因此我只能看到一个颜色变化,而不是至少2个颜色变化。
我的怀疑是,该视图不会刷新/重新加载,直到IBAction完成,这个怀疑是否正确?
是否有可能实现我希望实现的功能, - 触摸按钮 - 背景颜色随机变化100次。
在此先感谢您并对新问题感到抱歉。 timex88
========================
谢谢大家,我得到这个工作的感谢您的指针。但不是100次,我让changeBgColor
方法无限期地运行。
我注意到的是,虽然changeBgColor
仍然运行,如果我再碰迪斯科 按钮,执行changeBgColor
方法率变得更高,可以有人请解释一下原因吗?
再次感谢 天美时88
对不起初始化,因为我对于新手,我想确认,在你的代码上面,如何以及在何处被_timer声明? , 再次感谢。 – timex88
_timer是实例变量,因此您需要在@interface部分中声明它。 – Davyd
您需要在@interface部分声明它:NSTimer * _timer ;.那里的定时器会每0.2秒调用一次colorTimerFired方法,所以在这个例子中,视图颜色会每秒改变5次。 100次后,通过调用[_timer invalidate]来停止定时器,将其从runloop中移除。此外,您取消了指针,所以下次按下按钮时,您可以运行另一个计时器。 – Davyd