2017-08-11 4 views
1

J'ai utilisé collectionView et également mis en place traction pour synchroniser (pull_Down_To_Get_Data_From_Server) dans mon ViewController (nommé: « DashboardViewController »). J'ai essayé le code de secousse (donné ci-dessous) dans mon DashboardViewController et son ne fonctionne pas, mais le code similaire fonctionne dans un autre viewController de la même application.geste Secouer ne fonctionne pas iOS

J'ai utilisé le canBecomeFirstResponder dans viewDidLoad dans le premier essai et dans viewDidAppear d'autre part mais il était également inutile.

Exigence: actualy je veux connaître les cas (le cas échéant) auquel cas « .motionShake » ne déclenchent pas directement et nous devons mettre en œuvre une autre façon? Aussi que je n'ai rien trouvé de fructueux sur google. Image of storyboard may help in understanding all the utilities used

override func viewDidLoad() { 
// call super 
    super.viewDidLoad() 
    self.becomeFirstResponder() // for shake gesture detection 
} 

// it will make first responder to detect shake motion event 
override var canBecomeFirstResponder: Bool { 
    get { 
     return true 
    } 
} 

// get detection of shake motion event 
override func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) { 
    if motion == .motionShake 
    { 
     print("Shake detected") 
    } 
} 
+0

Il semble que votre code a été copié à partir de https://stackoverflow.com/a/43151351/1226963 – rmaddy

+0

En fait, ce code est utilisé pour obtenir le mouvement du mouvement de secousse et je l'ai utilisé dans mon propre intérêt et la référence que vous avez donnée en utilisant ce code pour son but. Le code pourrait être similaire car il est prévu pour l'usage mais la différence est d'approche pour laquelle on l'utilise @rmaddy –

Répondre

0

Nous avons rencontré quelque chose de similaire tout en travaillant sur Yoshi

Nous avons fini par créer une extension UIWindow, qui contenait l'événement motionBegan et transmis l'événement. Je ne sais pas ce qui l'a causé, mais il a apparemment rompu avec 3.0 rapide.