UIWebView 相关技巧

  • UIWebView 添加透明效果

    最近使用了UIWebView,发现当如下设置时

      myWebView.backgroundColor = [UIColor clearColor];  
    

    没有实现预期的透明效果
    后来加上

      myWebView.opaque = NO;  
      myWebView.backgroundColor = [UIColor clearColor]; 
    

    OK! 透明效果有了

  • webview 加载html文本

      -(void)addWebView  
      {  
          UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(10, 10, 300, 200)];  
          webView.opaque = NO;  
          [self.view addSubview:webView];  
          webView.backgroundColor = [UIColor cleanColor];  
          NSString *ring = @"

    请客劵是什么?

    请客劵是网站推送的拉动用户注册的一种优惠措施!

    请客劵有什么类型?

    请客劵分为www.ifood517.com限非会员会员之分

    "; [webView loadHTMLString:ring baseURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] bundlePath]]]; webView.delegate = self; }
  • webview 长按 会出现一些选择项 如何禁用长按

      - (void)webViewDidFinishLoad:(UIWebView *)webView {  
        
         // 禁用用户选择  
         [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];  
        
         // 禁用长按弹出框  
         [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];  
      }  
    

    关于禁用长按webview后出现的功能项 最近get了一个新的方法, 用手势替换 感觉也是不错的

      //添加手势 替换掉webView长按出现的功能选项  
      UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:nil];  
      longPress.delegate = self;  
      longPress.minimumPressDuration = 0.4; //个人测试感觉0.4秒是最合适的时间  
      [webView addGestureRecognizer:longPress];  
    
  • webView下拉会出现阴影(iOS7.0以下系统) 怎么办呢?

    看看关于UIWebView的API

      @property(nonatomic,readonly,retain) UIScrollView *scrollView NS_AVAILABLE_IOS(5_0);  
    

    webview上其实是一个scrollview

      [webView subviews] objectAtIndex:0];  //  这样就可以找到它了   
    

    然后 想避免出现下拉阴影

    • 禁掉 scrollview的回弹

      [(UIScrollView *)[[webView_ subviews] objectAtIndex:0] setBounces:NO];

    • 隐藏

       for (UIView *subView in [webView_ subviews]) {  
              if ([subView isKindOfClass:[UIScrollView class]]) {  
                  for (UIView *shadowView in [subView subviews]) {  
                      if ([shadowView isKindOfClass:[UIImageView class]]) {  
                          shadowView.hidden = YES;  
                      }  
                  }  
              }  
          }  
      

ok 下班!闪人......

你可能感兴趣的:(UIWebView 相关技巧)