Domanda

Ho un piccolo problema con il ZXingWidgetController, se presento il controller usando un controller di navigazione, la vista verrà spinta immediatamente, tuttavia ci sarà una schermata vuota per circa 1,5 secondi, quindi si avvia l'AVCapture. Eppure se lo presento come modale, il AVCapture Inizia non appena viene presentato il modale.

Ho manomesso il WidgetController un po ', poiché ho bisogno di leggere altri tipi di codici a barre usando lo stesso AVCapture finestra, e questo funziona perfettamente. Ho pensato che questo potrebbe essere il problema, ma dopo aver provato il campionamento più fornito con il widgetcontroller non modificato e spingendolo in un controller di navigazione il comportamento è lo stesso. Quindi questo non è il problema.

Ho provato a chiamare la spinta con un ritardo, ma dopo il ritardo la vista è ancora spinta e prima si presenta uno schermo vuoto.

Qualcuno ha affrontato questo?

È stato utile?

Soluzione 2

Sono tornato al lavoro oggi e ho esaminato attentamente il codice ... Il problema è in realtà molto semplice, il metodo AvCapture Start viene chiamato nel metodo ViewDidaPpear, l'ho spostato sul metodo ViewWillaPpear e il problema risolto :)

Altri suggerimenti

Hai una demo che mostra questo?

Non riesco a pensare a nessun motivo per cui importerebbe come viene presentato il controller. È vero che il caricamento di AVFF richiede tempo, quindi la prima volta che presenti qualcosa ci vuole più tempo. E ZXWDidgetController non salva gli oggetti AVFF: crea e li elimina ogni volta che appare la vista e scompare. Ma tutte queste cose dovrebbero essere le stesse indipendentemente dal modo in cui il widget viene presentato fintanto che viene confrontato per primo vs non prima.

In generale, la cattura di solito mostra una vecchia immagine brevemente mentre l'AVFF avvia la fotocamera. Questo è praticamente vero per tutte le app relative alla fotocamera per quanto ne so (e sarei felice di essere corretto.) Ma non credo che di solito sia qualcosa di simile a 1500 ms.

Si noti che i ritardi sono ancora più pronunciati in esecuzione sotto il debugger, presumibilmente perché si carica simboli ecc. Come viene caricato il framework.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top