[NSTimer scheduledTimerWithTimeInterval:0.025 target:self selector:@selector(update) userInfo:nil repeats:YES]; //若是咱們使用NSTimer定時器. 設置的執⾏行時間爲0.025秒, 假如屏幕刷新時間爲0.035.中間就會等待0.010
//繪製圖形的時候不建議使用該方法
補充知識:
drawRect方法是在view將要顯示,已經顯示之間調用的
drawRect方法是不能手動調⽤,由於在drawRect方法中才能獲取跟View相關聯的上下文, 系統在調用DrawRect方法時,會⾃動幫你建立一個跟View相關聯的上下文,而且傳遞給它.
解決辦法:想要重繪,調⽤[self setNeedsDisplay]; 告訴系統從新繪製View,系統就會自動幫你調用drawRect方法,系統在調用 drawRect方法,它會幫你建立上下文
//setNeedsDisplay:會調用drawRect,可是它並非立馬調用的,只是設置一個標誌.當下一次屏幕刷新的時候. //咱們在繪製的時候使用定時器最好使用CADisplayLink. 建立CADisplayLink定時器 這個定時器⽅法它是當每次屏幕刷新的時候調⽤(屏幕每一秒刷新60次); //使⽤用CADisplayLink不須要考慮時間間隔. CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(update)]; //要讓它工做, 必須得要把定時器添加到主運行循環 [link addToRunLoop:[NSRunLoop mainRunLoop]forMode:NSDefaultRunLoopMode];