【发布时间】:2020-07-21 16:00:05
【问题描述】:
我正在使用webview 自定义渲染器在 UI 上显示 HTML 数据。 webview 内容的默认大小太小了。
我的代码:
MyWebView.cs
public class MyWebView : WebView
{
public static readonly BindableProperty UrlProperty = BindableProperty.Create(
propertyName: "Url",
returnType: typeof(string),
declaringType: typeof(MyWebView),
defaultValue: default(string));
public string Url
{
get { return (string)GetValue(UrlProperty); }
set { SetValue(UrlProperty, value); }
}
}
ios 中的 MyWebViewRenderer.cs
public class MyWebViewRenderer : ViewRenderer<MyWebView, WKWebView>
{
WKWebView _wkWebView;
protected override void OnElementChanged(ElementChangedEventArgs<MyWebView> e)
{
base.OnElementChanged(e);
if (Control == null)
{
var config = new WKWebViewConfiguration();
_wkWebView = new WKWebView(Frame, config);
SetNativeControl(_wkWebView);
}
}
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
if (e.PropertyName == "Url")
{
Control.LoadHtmlString(Element.Url, null);
}
}
}
XAML 和 XAML.cs
<local:MyWebView
x:Name="web_view"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand">
</local:MyWebView>
web_view.Url = "htmldata";
输出截图
文本和视频尺寸非常小,我没有看到任何增加 webview 字体大小的选项,请针对此问题提出解决方案。
【问题讨论】:
-
我能快速看看你的父布局是什么吗?通常,当这样的问题发生在 iOS 上时,我的猜测是你的布局没有让你的 WebView 匹配屏幕的高度,但我可能是错的。
标签: xamarin.forms webview