簡體   English   中英

如何動態更改任何視圖的背景色?

[英]How to change the background color of any view dynamically?

如何動態更改視圖的背景色? 是否設置計時器並分配視圖的背景顏色屬性以循環更改?

如何實現此功能?

在代碼中的某個位置(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];
}

這將是一個突然的更改,因此您可能需要制作動畫,但這是一個不同的問題。

聽起來就像您只希望視圖每x時間更改背景顏色。 為此,可以為該視圖設置一個計時器,並在每次觸發時更改背景色(您可以隨機生成一些RGB值)。

您可以使用+(NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds目標:(id)目標選擇器:(SEL)aSelector userInfo:(id)userInfo重復:(BOOL)重復將計時器設置為選擇器,您可以在其中設置計時器更改視圖背景...請記住,UIKit不是線程安全的,因此,如果您在另一個線程中運行計時器,則應在主線程上更改視圖背景。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM