我想要一個定時器來重置每次用戶在我的應用程序中觸摸屏幕(所以我知道用戶仍在使用該設備)。我在ViewController中實現了touchBegan。捕獲UIView中的所有觸摸事件?
問題是如果我有我的ViewController中的UITableView和用戶觸及UITableView的功能touchBegan永遠不會被調用。原因是tableView不會傳遞觸摸事件。
我明白你可以將UITableView的子類傳遞給它的超級視圖,或者在頂部添加一個透明的UIView,它只捕獲觸摸事件並傳遞它們。子類化的問題是我需要在捕獲觸摸事件的所有類上執行此操作。
有沒有更好的解決方案?如果不是,你如何將事件傳遞給它的超級視圖?
它實際上像我想要的那樣工作,問題是我似乎找不到檢測它是否觸摸的方法。 Atm如果我在滾動視圖中滾動wakeUp被稱爲20-30次。 – David 2011-04-25 12:16:41
回答我自己的問題:UITouch * touch = [event allTouches] .anyObject; if(touch.phase == UITouchPhaseBegan){ – David 2011-04-25 16:43:00
這不再適用於我在iOS7中。請參閱下面的答案,瞭解我是如何運作的。 – 2014-01-30 23:58:37