我想在所有視圖中捕捉觸摸事件。所以它應該處理appdelegate
。如何在應用程序的每個視圖中捕捉觸摸事件?
我提到
iPhone: Detecting user inactivity/idle time since last screen touch
,但沒有成功
希望我會在正確的方向得到
感謝
我想在所有視圖中捕捉觸摸事件。所以它應該處理appdelegate
。如何在應用程序的每個視圖中捕捉觸摸事件?
我提到
iPhone: Detecting user inactivity/idle time since last screen touch
,但沒有成功
希望我會在正確的方向得到
感謝
只實現
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchLocation = [touch locationInView:self.view];
//your logic
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
//your logic
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
//your logic
}
在你的代碼中..我認爲你可以想出其餘的想法。
應用程序委託不是響應者。我將繼承UIWindow,並重寫它的事件處理方法,因爲窗口首次獲取所有觸摸事件。
與futureelilte7所說的相反,您的應用程序委託(在創建項目時生成)實際上是UIResponder的子類,並響應選擇器touchesBegan:withEvent:
和其他類似選擇器。
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesBegan:touches withEvent:event];
// your code here
}
這應該保留默認觸摸行爲,並給你一個機會做自己的自定義功能。
沒有需要繼承的UIWindow,簡單的直通手勢樣本這裏的代碼,捕獲所有接觸所有的觀點:
謝謝...但問題是如何實現它在應用程序委託class.I知道它可以在視圖控制器中完成。但是,在所有視圖控制器中編寫代碼將非常繁瑣 – illuminatus 2011-02-10 03:42:00
應用程序委託不是UIResponder子類。屏幕上沒有代表的可視化表示,所以您的建議是沒有意義的。只要檢測窗口的觸摸,但你必須自己處理所有的觸摸。 – futureelite7 2011-02-10 06:42:03