我从互联网上加载并保存到设备pdf文件。
接下来,我保存文件路径并使用源路径创建此路径的WebView,但是我看到了白屏。
我有iOS WebView的自定义渲染器
public class ZoomableWebViewRenderer : WebViewRenderer
{
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
var view = NativeView as UIWebView;
if (view == null) return;
view.ScrollView.ScrollEnabled = true;
view.ScalesPageToFit = true;
}
}
此渲染器可以打开图像(png,jpg,tiff),但无法打开pdf文件。 我检查文件路径,它是正确的。 当我尝试缩放此屏幕时,我得到result
答案 0 :(得分:0)
根据Display a Local PDF File in a WebView,您可以使用BindableProperty创建自定义网页视图,以设置UIWebView的网址,并使用module.exports = function (app) {
app.post('/register', function(req, res, next) {
req.checkBody('name', 'Name feild is reqiured').notEmpty();
var errors = req.validationErrors();
if(errors){
res.status(400).json({"errors": errors});
}
else{
Console.log('No Errors');
res.status(200).json({"foo": "bar"});
}
});
};
呈现自定义网页视图。
使用BindableProperty创建自定义webview类:
ViewRenderer<CustomWebView, UIWebView>
像这样创建渲染器:
public class CustomWebView : WebView
{
public static readonly BindableProperty UriProperty = BindableProperty.Create (propertyName:"Uri",
returnType:typeof(string),
declaringType:typeof(CustomWebView),
defaultValue:default(string));
public string Uri {
get { return (string)GetValue (UriProperty); }
set { SetValue (UriProperty, value); }
}
}
请注意,官方文档假定pdf文件存储在项目的Content文件夹中。因此,如果它直接位于Resource文件夹中,请删除路径中的前缀“Content /”。
像这样在XAML中使用它:
public class CustomWebViewRenderer : ViewRenderer<CustomWebView, UIWebView>
{
protected override void OnElementChanged (ElementChangedEventArgs<CustomWebView> e)
{
base.OnElementChanged (e);
if (Control == null) {
SetNativeControl (new UIWebView ());
}
if (e.OldElement != null) {
// Cleanup
}
if (e.NewElement != null) {
var customWebView = Element as CustomWebView;
string fileName = Path.Combine (NSBundle.MainBundle.BundlePath, string.Format ("Content/{0}", WebUtility.UrlEncode (customWebView.Uri)));
Control.LoadRequest (new NSUrlRequest (new NSUrl (fileName, false)));
Control.ScalesPageToFit = true;
}
}
}