所以我使用WKWebView实现了webview。滚动很好,但是我有兴趣让它像Chrome应用程序一样。我只是不知道如何实现它。
我不知道他们是在搞乱动画持续时间,减速率还是什么。
我试过了:
currentScrollView.decelerationRate = UIScrollViewDecelerationRateNormal;
currentScrollView.decelerationRate = UIScrollViewDecelerationRateFast;
没有真正注意到差异。我还在stackoverflow上尝试了一些建议,但它似乎完全停止了滚动动画。
另一种可能性是点击webview的CSS属性并调用:
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
不知道怎么称呼它。从我用于图像查看器的一些旧代码中,我按如下方式修改它,没有任何影响:
NSString *css = [[NSString alloc] initWithFormat:@"%@", @"<!DOCTYPE html>"
"<html lang=\"ja\">"
"<head>"
"<meta charset=\"UTF-8\">"
"<style type=\"text/css\">"
"html{margin:0;padding:0;}"
"body {"
"overflow-y: scroll;"
"-webkit-overflow-scrolling: touch;"
"margin: 0;"
"padding: 0;"
"background: clear;"
"}"
"</style>"
"</head>"
"</html>"];
[self.webView evaluateJavaScript:css completionHandler:nil];
但我并不是最好的修改这种风格。
有人有什么想法吗?建议?
我并不关心Apple的批准,因为我不能提交我的应用程序,所以黑客,调酒等对我来说没问题。
谢谢。
答案 0 :(得分:1)
所以它可能是我在下面发布的内容,或者是1或者其他内容的组合,但是如果有人感兴趣的话,我会让它工作。
- (void)viewDidLoad {
[super viewDidLoad];
[self.webView.scrollView setDecelerationRate:UIScrollViewDecelerationRateNormal];
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;
}
注意:iOS 9上存在导致此问题的错误。更多信息:https://stackoverflow.com/a/32843700/308315