看看那个丑陋的黄色是哪里?我需要这种颜色来改变......很多。有点像一个奇怪的kalidascope的东西,但一次只有一种颜色。很像默认的OS X Spectrum屏幕保护程序。我应该如何去做这件事? Objective-C看起来像一个巨大的CPU猪。我可以将OpenGL背景放入这样的东西吗?会喜欢正确的方向。更改UIView的背景颜色
回答
那么你可以安排一个函数调用像半秒,然后改变背景颜色有这样
[NSTimer scheduledTimerWithTimeInterval:0.3f target:self selector:@selector(someMethod) userInfo:nil repeats:YES];
- (void)someMethod
{
self.view.backgroundColor = [UIColor redColor];
}
但这会为了你的背景视图改变颜色只有红色,所以要改变颜色到别的东西,你可以声明一个类变量或多个变量来改变你的背景颜色。在选择器方法中,您可以更改它们的值以获得一些很酷的效果。你可以做这样的事情。
self.view.backgroundColor = [UIColor colorWithRed:x green:y blue:z alpha:1.0f];
x += 0.01f;
y += 0.02f;
z += 0.04f;
if(x >= 1)
x = 0.01f;
if(y >= 1)
y = 0.02f;
if(z >= 1)
z = 0.04f;
首先尝试最简单的事:只设置该视图的backgroundColor
属性,然后使用performSelector:withObject:afterDelay:
适当的延迟后切换到下一个颜色。
除非您使用OpenGL完成整个屏幕,否则这种方式不会更快。瓶颈很可能是将“球”图像和文本合成到背景上,而不是创建纯色背景。描述它,而不是猜测或依靠我的猜测。
很好的答案,打败我吧。 – Moshe 2011-06-12 02:39:29
让我们假设前景材质具有透明度。然后,我们可以在整个屏幕上看到一个完整的视图,并通过前景材质看到该视图的颜色。然后改变背景视图的颜色就足够了。如果您希望在背景颜色中更改此动画,请将视图的图层背景色(更改为CGColor);效果将自动生成动画。你需要链接到QuartzCore.framework并导入<QuartzCore/QuartzCore.h>
,然后你就可以说:
theView.layer.backgroundColor = [[UIColor redColor] CGColor];
您可以修改此颜色动画;例如,您可以通过设置CATransaction的动画持续时间(请参阅CATransaction类方法)来规定其持续时间(颜色更改的速度有多快或多慢)。我可以想象你会有一个重复的NSTimer,每当定时器启动时你会做另一个颜色变化动画。
- 1. 的UIView更改背景颜色图像
- 2. 用代码更改uiview背景颜色
- 3. UIView背景颜色
- 4. 更改背景颜色
- 5. 更改背景颜色
- 6. 更改背景颜色
- 7. jqueryMobile更改背景颜色
- 8. 更改DIV背景颜色
- 9. 更改背景颜色
- 10. Gnuplot - 更改背景颜色
- 11. 更改背景颜色
- 12. 更改TToolBar背景颜色
- 13. model.addrow()更改背景颜色
- 14. QMenu更改背景颜色
- 15. 更改UITabBar的色调/背景颜色
- 16. 更改背景颜色更改边框
- 17. 更改按钮颜色作为背景颜色更改?
- 18. 如何在uiview动画时更改背景颜色
- 19. 更改UIView背景颜色重置圆角
- 20. 更改活动中的背景颜色。
- 21. 更改iframe问题的背景颜色
- 22. 更改文本框的背景颜色
- 23. 更改VscrollBar的背景颜色
- 24. 更改默认的UITabBarController背景颜色
- 25. 如何更改Radscheduler的背景颜色
- 26. 更改JTable的背景颜色
- 27. 更改BottomBar的背景颜色
- 28. 更改ListBoxItem ItemTemplate中的背景颜色?
- 29. 如何更改JLabel的背景颜色?
- 30. 如何更改SFSafariViewController的背景颜色?
Magic-8球由美泰公司版权所有。我一年前第一次提交的应用程序是这个确切的应用程序。它在版权问题上遭到拒绝。 – Moshe 2011-06-12 02:28:34
@Moshe Fortune Ball,另一方面... – 2011-06-12 02:31:01
嗯,也许。我认为这是概念,而不是名称。看,我祝你最好,但我不认为苹果会批准它。 – Moshe 2011-06-12 02:34:31