2009-10-14 93 views

回答

1

你的代碼中的某個地方(viewDidAppear是一個好去處)

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5 // seconds 
                target:self 
               selector:@selector(changeBackground:) 
               userInfo:nil 
               repeats:YES]; 

在你的類中的方法:

- (void)changeBackground:(NSTimer *)timer { 

    if (iWantToCancelTimer) { 
     [timer invalidate]; 
    } 

    self.view.backgroundColor = [UIColor whateverColor]; 
} 

這將是一個突然的改變,所以你可能會想製作一個動畫,但這是一個不同的問題。

0

聽起來就像你只是想讓你的視圖每x次改變背景顏色。對於這個問題,你可以設置一個定時器,並在每次觸發時改變背景色(你可以隨機生成一些RGB值)。您可以使用+(NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)秒目標:(id)目標選擇器:(SEL)aSelector userInfo:(id)userInfo重複:(布爾)重複設置一個計時器到選擇器和在那裏你可以改變視圖的背景...記住,UIKit不是線程的,所以如果你有另一個線程運行的定時器,你應該改變主線程的視圖背景..