我需要在WKWebView中加载本地文件.我正在使用新的ios9方法
- (nullable WKNavigation *)loadFileURL:(NSURL *)URL allowingReadAccessToURL:(NSURL *)readAccessURL
它适用于第一次加载(正确调用导航委托),但如果我尝试加载一个新的不同文件,它什么都不做.
wkwebview实例中currentItem的URL已修改.但是,如果我强制重新加载委托方法,则使用先前设置的URL调用didFinishNavigation.我也尝试向前导航但是应该加载的文件是当前的文件,它不在backForwardList上.
我用来启动WKWebView并加载文件的代码:
self.wk_webview = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
self.wk_webview.scrollView.delegate = self;
self.wk_webview.navigationDelegate = self;
[self.view addSubview:self.wk_webview];
NSURL *url = [NSURL fileURLWithPath:local_path];
[self.wk_webview loadFileURL:url allowingReadAccessToURL:[url URLByDeletingLastPathComponent]];
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?我找不到与此相关的任何内容.
任何帮助表示赞赏,谢谢.
使用Apple和ImageMagick的PhotoScroller示例,我设法构建了我的目录应用程序.
但我有一个渲染错误.平铺图像在它们之间用细线渲染.
我使用ImageMagick的简单脚本是这样的:
#!/bin/sh
file_list=`ls | grep JPG`
for i in 100 50 25; do
for file in $file_list; do
convert $file -scale ${i}%x -crop 256x256 -set filename:tile "%[fx:page.x/256]_%[fx:page.y/256]" +repage +adjoin "${file%.*}_${i}_%[filename:tile].${file#*.}"
done
done
Run Code Online (Sandbox Code Playgroud)
Apple的代码是一样的.奇怪的是,他们提供的图像已经平铺,就像一个魅力,在同一个运行时间,与我的图像并排:(
我的第一个猜测是,磁贴的大小与代码上的计算不匹配,但更改大小无法修复,无论是在我的脚本还是在代码中.我的图像通常比苹果提供的图像小,实际上只有一半.
有人有同样的问题吗?
catiledlayer ×1
imagemagick ×1
ios ×1
ios9 ×1
iphone ×1
objective-c ×1
tiles ×1
uiscrollview ×1
wkwebview ×1