2015-04-20 62 views
-1

我已經我有問題,檢測搖事件

  • 實現了motionEnded功能

    override func motionEnded(motion: UIEventSubtype, withEvent event: UIEvent) { 
        if motion == .MotionShake { 
         println("Shake it off") 
        } 
    } 
    
  • 實現了canBecomeFirstResponder功能

    override func canBecomeFirstResponder() -> Bool { 
        return true 
    } 
    
  • 在調用self.becomeFirstResponder() 0功能

    override func viewDidAppear(animated: Bool) { 
        self.becomeFirstResponder()  
    } 
    

我試圖檢測UIScrollView是從故事板

+0

描述的 「問題」。而且,不要依賴標題作爲問題的一部分。告訴我們相關的代碼,解釋你所得到的行爲和你期望的行爲,以及這些行爲如何不同。 – nhgrif

+0

我的問題是我無法檢測到搖動事件。我沒有得到任何行爲,我只是想檢測它。 – Anderson

+0

你試過了什麼?你讀過哪些文獻可以表明你採取的方法甚至是遠程正確的?你已經實現的代碼在哪裏?這不是一個代碼編寫服務,[但是這是...](https://careers.stackoverflow.com/employer) – nhgrif

回答

0

分開的視圖中的抖動,我不知道爲什麼你不得不打電話becomeFirstResponder,反正,這平時對我的作品:

override func motionEnded(motion: UIEventSubtype, withEvent event: UIEvent) { 
if event.subtype == UIEventSubtypeMotionShake 
    { 
    if numOfShakes == 1 
    { 
     //animate 
     //Shook for a couple seconds 
     numOfShakes = 0; 
    } 
    else 
    { 
     numOfShakes++ 
     if (numOfShakes == 1) 
     { 

      println("Shake it off") 

     } 
    } 
    } 
} 

希望它能幫助:)

+0

感謝您的回覆,它沒有奏效。由於某種原因'motionEnded'甚至沒有被調用。 – Anderson

+0

嘗試刪除重寫。 – SahandTheGreat

+0

刪除重寫提供了一個錯誤。 「懸挑宣言需要一個'重寫'關鍵字」。 – Anderson