zoukankan      html  css  js  c++  java
  • WKWebView遇到的问题汇总

    一.手势放大缩小页面解决方法

    1.通过操作webview中scrollview的代理方法来关闭

    -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
        return nil;
    }

    但是中途出现了一个问题就是在网页适配iPhone X的时候添加的js适配代码导致失效问题

    2.通过注入js来关闭手势捏合效果

    _webConfig = [WKWebViewConfiguration new];
    WKUserContentController *userController = [WKUserContentController new];
    NSString *js = @" $('meta[name=description]').remove(); $('head').append( '<meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">' );";
    WKUserScript *script = [[WKUserScript alloc] initWithSource:js injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:NO];
    [userController addUserScript:script];
    [userController addScriptMessageHandler:self name:@"openInfo"];
    _webConfig.userContentController = userController;

    但是这种方法没有起作用,可能是被覆盖了,于是用的上面的方法

    二.关闭WKWebview中长安手势触发3d touch的效果

    已开始上网搜说js可以自己关闭,确实是关闭了,但是整个页面不能滑动了,所以还是自己关闭通过下面的代码

    for (UIView* subview in self.wkWebView.scrollView.subviews) {
            if ([subview isKindOfClass:NSClassFromString(@"WKContentView")]) {
                for (UIGestureRecognizer* longPress in subview.gestureRecognizers) {
                    if ([longPress isKindOfClass:UILongPressGestureRecognizer.class]) {
                        [subview removeGestureRecognizer:longPress];
                    }
                }
            }
     }

    通过取消WKContentView上所有的长按手势来关闭

    by:初光夫

  • 相关阅读:
    一个完整的AjaxPro例子(转)
    sql2000存储过程
    System.Configuration命名空间下找不到ConfigurationManager类
    编译器错误信息: CS0016
    (转)AjaxPro使用说明
    数据库中去逗号的函数
    asp.net 验证码
    sql2005存储过程
    简单控件分页
    身份证号码验证
  • 原文地址:https://www.cnblogs.com/widgetbox/p/9242533.html
Copyright © 2011-2022 走看看