2012-07-22 62 views
0

我的應用程序中有兩個滾動視圖,一個包含UIImageViews,一個包含UIButtons。使用NSTimer,我讓他們自動滾動。但是,如果其中一個滾動視圖被篡改(手指觸摸它並開始手動滾動),另一個滾動視圖也會停止。有什麼辦法可以阻止這種情況發生?或者這是正常的?在iOS上同時更新UI

此外,第二個滾動視圖內的UIButtons是可輕敲的,但它們不顯示標準突出顯示。如果我啓用發光效果,它會起作用,但不是標準突出顯示。無論如何,我可以做這項工作嗎?

我對的NSTimer代碼是

[NSTimer scheduledTimerWithTimeInterval:0.018 
           target:self 
           selector:@selector(onTimerScrollText) 
           userInfo:nil 
           repeats:YES]; 

- (void)onTimerScrollText { 
    CGFloat x = self.textScroller.contentOffset.x; 

    x += 0.5; 

    [self.textScroller setContentOffset:CGPointMake(x, 0)]; 
} 

而且這是相當多的圖片滾動一樣的。

謝謝!

回答

0

一個滾動視圖的最初的問題不再滾動,直到其他手動滾動完成已經解決。

解決方案很簡單。每個定時器需要被添加到運行循環:

[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]; 

現在他們都工作,無論一個人是否是由一個人的手指打斷。