以+scheduledTimerWithTimeInterval...的方式觸發的timer,在滑動頁面上的列表時,timer會暫定回調,為什么?如何解決?
scheduledtimerwithtimeinterval怎么辦
RunLoop只能運行在一種mode下,如果要換mode,當前的loop也需要停下重啟成新的。利用這個機制,ScrollView滾動過程中NSDefaultRunLoopMode(kCFRunLoopDefaultMode)的mode會切換到UITrackingRunLoopMode來保證ScrollView的流暢滑動:只能在NSDefaultRunLoopMode模式下處理的事件會影響ScrollView的滑動。
如果我們把一個NSTimer對象以NSDefaultRunLoopMode(kCFRunLoopDefaultMode)添加到主運行循環中的時候,ScrollView滾動過程中會因為mode的切換,而導致NSTimer將不再被調度。
同時因為mode還是可定制的,所以:
Timer計時會被scrollView的滑動影響的問題可以通過將timer添加到NSRunLoopCommonModes(kCFRunLoopCommonModes)來解決。
scheduledtimerwithtimeinterval代碼如下:
//將timer添加到NSDefaultRunLoopMode中
[NSTimerscheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(timerTick:)
userInfo:nil
repeats:YES];
//然后再添加到NSRunLoopCommonModes里
NSTimer*timer=[NSTimertimerWithTimeInterval:1.0
target:self
selector:@selector(timerTick:)
userInfo:nil
repeats:YES];
[[NSRunLoopcurrentRunLoop]addTimer:timerforMode:NSRunLoopCommonModes];
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
#標題創作挑戰#宋是山東省濱州市博興縣人,這也是他的出生地。宋,時代青年團團員,歌手、演員。出道后發行了《狼性青春》、《致青春》、《校報》等音樂作品,受到粉絲喜歡。曾參演《念念》《第二人生》等劇,錄制《王牌對王牌》《萌探》等綜藝節目。宋出生于山東濱州博興縣。他從小跟著爺爺生活,后來隨父母去了廣州。宋宣亞小時候參加錄制的《真的!很好玩”節目,這是一個兒童教育競賽節目。他在節目中的表現也很出色。接下來...
說了這么多次的房地產稅終于要來了,據最新消息稱,部分地區將開展房地產稅改革試點,那么具體會有哪些相關的措施推出呢?房地產稅一旦實施將會帶來哪些影響?下面我們來了解一下。房地產稅是政府對房地產征收的一種財產稅。它通常向業主或租戶等用戶征收。負責征收房地產稅的政府機構將對房地產價值進行估價,并以房地產價值的一定比例作為應繳稅款。為積極穩妥推進房地產稅立法改革,引導合理住房消費和節約集約利用土地資源,促...
【資料圖】隨著社會越來越發達,大家都選擇在網絡上汲取相關知識內容,比如黃花機場t1和t2區別,為了更好的解答大家的問題,小編也是翻閱整理了相應內容,下面就一起來看一下吧!黃花機場的t1和t2的區別就是T1為老航站樓。而T2為新航站樓。并且現在主要使用的就是T2航站樓,而且現在所有的國內和國際出發的航班都會到達T2航站樓。機場,亦稱飛機場、空港,較正式的名稱是航空站。機場有不同的大小,除了跑道之外,...