Xamarin iOS WebView 为空白
Posted
技术标签:
【中文标题】Xamarin iOS WebView 为空白【英文标题】:Xamarin iOS WebView is blank 【发布时间】:2020-10-26 11:01:09 【问题描述】:我正在我的 Xamarin ios 应用项目中测试 WebView。 WebView 的编码如下:
<WebView
x:Name="WebView"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
android:WebView.EnableZoomControls="true"
android:WebView.DisplayZoomControls="false"
>
</WebView>
WebView可以显示html:
WebView.Source = new HtmlWebViewSource
Html = "<!DOCTYPE html><html><body><p>Hello world</p></body></html>",
;
但是当我使用 URL 时:
WebView.Source = new HtmlWebViewSource() BaseUrl = "https://www.google.com" ;
或
WebView.Source = "https://www.google.com";
我只得到一个空白区域。
我已将此添加到 info.plist:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
我不处理任何事件,例如导航、导航等。另外,在这个简单的测试中,我没有覆盖 WebView。
当我打开 Safari 时,iPhone 可以显示 google.com 和其他网站。
可能是什么问题?
【问题讨论】:
您好,确认一下,您设置了水平选项和垂直选项吗? 是的。我现在已将标记添加到问题中。 可以和其他网址一起使用吗?并确保网络权限已打开。 【参考方案1】:像这样在 viewModel 中添加公共属性:
private string _uri;
public string Uri
get return _uri;
set SetProperty(ref _uri, value);
然后像这样分配和寻址:
Uri = "http://google.com";
最好在onNavigated to
在你的 xaml 中添加这个
<Grid HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Padding="5"> <WebView Source="Binding Uri"></WebView> </Grid>
【讨论】:
以上是关于Xamarin iOS WebView 为空白的主要内容,如果未能解决你的问题,请参考以下文章
在 WebView 问题中查看 PDF (Xamarin.ios)
Xamarin表单:ios平台上的webview中视频未完全填充
最新 iOS 更新 (12.2) 后,本地存储中的视频未在 WebView (Xamarin.Forms) 中播放