Ho un modulo nella mia app iOS 7+ che è un UIWebView. La pagina html carica un javascript che crea pulsanti personalizzati (usando la libreria Raphaeljs). Con UIWebView, imposto il delegato a se stesso. Il metodo delegato webView: shouldStartLoadWithRequest: navigationType:
viene chiamato ogni volta che viene premuto uno dei miei pulsanti personalizzati. Le richieste non dovrebbero essere gestite dall'html, ma piuttosto dal codice iOS. Quindi ho usato una convenzione di richiesta (leggi da qualche parte qui su stackoverflow) usando "inapp" come schema delle mie richieste. Quindi controllo l'host e intraprendo l'azione appropriata.Metodo delegato UIWebView shouldStartLoadWithRequest: equivalente in WKWebView?
Questo codice funziona perfettamente su iOS 7. Ma le visualizzazioni Web appaiono vuote su iOS 8 (bug?), Quindi ho deciso di utilizzare WKWebView per dispositivi iOS 8. Le visualizzazioni web ora rendono bene (e incredibilmente più veloce!), Ma i miei pulsanti non hanno alcun effetto.
Ho provato a utilizzare - (WKNaviation *)loadRequest:(NSURLRequest *)request
, ma non viene chiamato.
Non riesco a trovare un equivalente diretto del metodo delegato UIWebView webView: shouldStartLoadWithRequest: navigationType:
. Qual è il modo migliore per gestire tali richieste con WKWebView?
In primo luogo, mi scuso per il ritardo. Ho testato la tua soluzione per uno dei miei link, e ha funzionato. Grazie! Applicherò la soluzione ovunque ora. Tuttavia, posso vedere il mio contenuto web sul simulatore, ma non riesco a vederlo sul mio dispositivo. Sul dispositivo, vedo ancora una pagina vuota. Qualche idea del perché? – invalidArgument
@invalidArgument Caricate il contenuto Web dal web o dal vostro pacchetto? Perché da allora ho imparato che c'è un bug in WKWebView per il caricamento di contenuti locali: http://stackoverflow.com/questions/24882834/wkwebview-not-working-in-ios-8-beta-4 – SeanR
È caricato dal mio pacchetto. Ho appena pubblicato una domanda interamente dedicata al problema della pagina vuota: http://stackoverflow.com/q/26455432/873436. Quel collegamento è stato molto utile, grazie ancora. Ha portato ad un altro problema, però. – invalidArgument