Im eine App zu entwickeln, das einige Inhaltsseiten aus unserem CMS hat die in ein WebView
angezeigt muss, da sie darin HTML mit einigen Hyperlinks habenXamarin Forms Griff Hyperlinks in Webview Navigating Ausgabe
Im den Hyperlinks Weicht Steuerung wie erwartet funktioniert auf android im dies mit dem zu tun Navigating
des Xamarin.Forms.WebView Ereignisses
im der Lage e.Url
zu verwenden, um den Benutzer zu einer internen Seite zu senden.
Beispiel:
public class HybridWebView : WebView
{
public String Code { get; set; }
public HybridWebView()
{
Navigating += HybridWebView_Navigating;
}
private void HybridWebView_Navigating(object sender, WebNavigatingEventArgs e)
{
if(e.Url.EndsWith(".aspx")
{
var CMS = new CMSView(e.Code, null);
Navigation.PushAsync(CMS);
e.Cancel = true;
}
}
}
Hinweis dies gut funktioniert!
Das Problem ist:
wenn ich versuche, dies auf iOS bekam ich ein leeres/weiß WebView
. Ich habe versucht, einen CustomRenderer auf iOS zu machen, aber da ich die WebView ableiten kann, um sie anzupassen, kann ich zum Beispiel die Eigenschaften Code
nicht erreichen.
Wie erreiche ich die Eigenschaften im benutzerdefinierten Renderer für ios? Ich weiß e.NewElement
, aber ShouldStartLoad
erwartet UIWebView und nicht meine benutzerdefinierte HybridWebView.
Hat jemand irgendwelche Tipps oder Ideen, wie ich das erreichen kann.
Vielen Dank im Voraus
Thnx jgoldberger Ich brauche nicht e.NewElement zu casten, da es seinen Typ von hybridview kennt, aber wie kann ich ShouldStartLoad verwenden, erwartet es UIWebView als param und ich muss dort Hybridview verwenden. –
Wenn ich etwas nicht vermisse, sollte das NativeView, das ich erwähnt habe, das sein, was der Basis-Renderer für Ihr HybridWebView erstellt hat. Also sollte dies die UIWebView sein, um mit ShuldStartLoad zu verwenden, es sei denn, ich missverstände? – jgoldberger