看看那個醜陋的黃色是哪裏?我需要這種顏色來改變......很多。有點像一個奇怪的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. UIView背景顏色
- 5. UIView的背景顏色不會改變
- 6. 不斷改變UIView背景顏色
- 7. 更改背景顏色3
- 8. jqueryMobile更改背景顏色
- 9. 更改背景顏色tabhost
- 10. 更改UIButton背景顏色
- 11. 更改背景顏色8
- 12. WL.SimpleDialog更改背景顏色
- 13. 更改背景顏色
- 14. UICollectionViewCell更改背景顏色
- 15. 更改QLPreviewController背景顏色
- 16. 更改背景顏色
- 17. 更改UIAlertcontroller背景顏色
- 18. 更改TToolBar背景顏色
- 19. Gnuplot - 更改背景顏色
- 20. select2更改背景顏色
- 21. 更改fancybox2背景顏色
- 22. 更改背景顏色
- 23. 更改DIV背景顏色
- 24. 更改背景顏色
- 25. 更改Listitem背景顏色
- 26. QMenu更改背景顏色
- 27. 更改背景顏色
- 28. 更改HighCharts背景顏色?
- 29. 更改背景顏色
- 30. model.addrow()更改背景顏色
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