2014-12-19 62 views
1

通過使用以下代碼,我能夠觸發UIApplication中的發送事件方法。但是,對於單個觸摸事件,發送事件方法會觸發兩次,而不是一次。在轉換爲swift後面向此問題的Objective C中正常工作。任何人都可以在下面的代碼中告訴我這個問題。在Swift編程中覆蓋UIApplication的發送事件的問題


main.swift

UIApplicationMain(C_ARGC, C_ARGV, NSStringFromClass(MainApplication), NSStringFromClass(AppDelegate)) 

AppDelegate.swift

class MainApplication: UIApplication{ 
override func sendEvent(event: UIEvent) 
{ 
    super.sendEvent(event) 
    if(event.type == UIEventType.Touches) 
    { 
     NSLog("send event")}}} 

+0

請重新標題。 – Raptor 2014-12-19 10:33:06

+0

請注意我對您的標題所做的更改,以前的版本不合適。負面投票有其背後的意義,這意味着這個問題有問題,或者你沒有達到要求 – 2014-12-19 10:34:58

+0

是的,我糾正了它。你有沒有回答我的問題 – ChezhianNeo 2014-12-19 10:41:31

回答

1

我有一個類似的問題但是對蘋果開發者網站進行了一些調查,並且我瞭解到UITouch事件的常量是Touch Phase。在你的代碼中,你只是在檢查觸摸。 sendEvent在觸摸的每個階段觸發一次,NSLog語句正在爲touchesBegan和touchesEnded階段調用。更改代碼以檢查觸摸開始或觸摸結束。