【发布时间】:2016-11-26 09:37:21
【问题描述】:
我正在开发一个应用,其中包含来自我们 CMS 的一些内容页面
需要显示到 WebView 中,因为它们有 HTML,其中包含一些超链接
我正在控制超链接,它在 android 上按预期工作
我用 Xamarin.Forms.WebView 事件的Navigating 来做这件事
我可以使用e.Url 将用户发送到内部页面。
示例:
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;
}
}
}
请注意,这很好用!
问题是:
当我在 iOS 上尝试这个时,我得到了一个空白/白色 WebView。
我试图在 iOS 上创建一个 CustomRenderer,但由于我将 WebView 子类化以对其进行自定义,因此我无法访问属性 Code 例如。
如何访问 ios 自定义渲染器中的属性?我知道 e.NewElement 但 ShouldStartLoad 需要 UIWebView 而不是我的自定义 HybridWebView。
有没有人有任何提示或想法让我可以达到这个目标。
提前致谢
【问题讨论】:
标签: c# xamarin xamarin.ios xamarin.android xamarin.forms