A volte, interruzioni quali telefonata verificano e disturbare un comportamento normale di un app in iPhone o iPad.Come catturare cancallation di UIScrollView o di altri?
Ad esempio, ho creato un'istanza UIScrollView e implementato i metodi delegati UIScrollView: scrollViewWillBeginDragging e scrollViewDidEndDragging (e scrollViewDidEndDecelerating).
metodo A scrollViewWillBeginDragging disattivato tutti i pulsanti personalizzati nella mia app. Poi metodi scrollViewDidEndDragging e scrollViewDidEndDecelerating attivati questi pulsanti personalizzati. Cioè, mentre l'utente scorreva, tutti i pulsanti personalizzati sono stati disattivati per un po '.
Il problema era che mentre l'utente ha iniziato a trascinare e appena tenuto un'istanza UIScrollView, se ho preso un screenshot premendo un tasto home e un pulsante di accensione, quindi qualsiasi scrollViewDidEndDragging e scrollViewDidEndDecelerating non è stato chiamato . Così l'app è diventata incasinata su.
Ho implementato un metodo UIApplicationWillResignActiveNotification nel mio UIViewController, ma non è stato richiamato dopo aver acquisito uno screenshot.
Come posso rilevare qualsiasi tipo di interruzione che disturba un flusso regolare di eventi?
A volte, toccaEnd e toccaCanceled non è stato chiamato a causa di un'interruzione.
Grazie.
Che ne dici di implementare viewWillAppear o viewDidAppear e testare se vengono richiamati dopo aver scattato uno screenshot? Quindi in quei metodi se (beingDragged == TRUE) chiama il metodo scrollViewDidEndDragging. – adam
Anche il metodo viewDidScroll viene chiamato anche in caso di interruzioni? probabilmente no e lì hai un approccio alternativo al tuo problema. – nacho4d
Sono nuovo alle cose, quindi non sono sicuro del perché dovresti disabilitare un pulsante quando l'utente stava usando una vista diversa? L'impressione che ho da varie letture è che l'unica volta in cui vorresti disabilitare un pulsante è quando non può effettivamente eseguire la sua funzione perché manca un po 'di dati, cioè nessuna selezione, o un campo non compilato, ecc. . –