Recentemente mi sono imbattuto in questo problema grazie a iOS 10.0. Dopo aver trascorso molto tempo googling e non venire con tutto ciò che ha funzionato - mi si avvicinò con la mia soluzione:
myVC.PresentViewController (_imagePicker, false,()=>_imagePicker.View.Subviews[0].Subviews[0].Subviews[0].Subviews[0].Subviews[1].RemoveFromSuperview();
In sostanza una volta la vista selettore è stato presentato - "_imagePicker.View.Subviews [0] .Subviews [ 0] .Subviews [0] .Subviews [0] .Subviews 1 .RemoveFromSuperview(); " verrà eseguito per rimuovere la vista del cursore dalla fotocamera.
È probabile che si verifichi un futuro aggiornamento iOS, quindi non lo consiglio per le app di produzione. Se stai facendo un sacco di materiale fotografico personalizzato, è consigliabile utilizzare il framework AVFoundation.
Qualcuno dovrebbe sollevare un bug con Apple che in iOS 10 "imagePicker.ShowsCameraControls = NO;" in realtà non rimuove TUTTI i controlli della fotocamera.
Se hai bisogno di capire come fare qualcosa di simile in futuro puoi usare: il pulsante "Debug View Hierarchy" in Xcode per visualizzare viewHierachy e quindi fare clic sul componente che vuoi rimuovere/indovinare cercando i nomi di visualizzazione:
Example hierarchy path
In questo caso, l'opinione che ho voluto per rimuovere è stato il "CAMViewfinderView". Spero che questo ti aiuti!
Nota, il mio codice è stato scritto in CSharp (Xamarin.IOS) ma la stessa cosa funzionerà in ogg-c - solo una sintassi leggermente diversa.
-Rufus
fonte
2016-12-02 15:09:59
Hai mai ricevuto una risposta? Lo vedo anche io ... – gbanfill
No, non l'ho fatto, sfortunatamente ho finito per disabilitare completamente lo zoom, credo. – Chisx
Ancora cercando di risolvere questo problema. @ chrisx come hai disattivato completamente lo zoom? hai uno snippet di codice che posso guardare? – gbanfill