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 = @"<h3>請客劵是什么?</h3><p><span style=\"font-size: 14px; background-color: rgb(0, 176, 240);\">請客劵是網站推送的拉動用戶注冊的一種優惠措施!</span><br/></p><h3><span style=\"font-size: 14px; background-color: rgb(0, 176, 240);\"><span style=\"font-size: 14px; background-color: rgb(255, 255, 255);\">請客劵有什么類型?</span><br/></span></h3><p><span style=\"font-size: 14px; background-color: rgb(0, 176, 240);\"><span style=\"font-size: 14px; background-color: rgb(255, 255, 255);\"><em>請客劵分為www.ifood517.com<span style=\"font-size: 14px; background-color: rgb(255, 255, 255); color: rgb(0, 112, 192);\">限非會員<span style=\"font-size: 14px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);\">和<span style=\"font-size: 14px; background-color: rgb(255, 255, 255); color: rgb(0, 112, 192);\">會員之分<span style=\"font-size: 14px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);\">!</span></span></span></span></em><br/></span></span></p>";  
          [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 下班!閃人......

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • IOS之UIWebView的使用 剛接觸IOS開發1年多,現在對于 混合式 移動端開發越來越流行,因為開發成本上、...
    學無止境666閱讀 45,907評論 5 53
  • OS之UIWebView的使用 剛接觸IOS開發1年多,現在對于 混合式 移動端開發越來越流行,因為開發成本上、速...
    知之未道閱讀 1,668評論 0 4
  • (http://upload-images.jianshu.io/upload_images/1197386-a0...
    光明程輝閱讀 3,539評論 1 8
  • UIWebView用于在App中嵌入網頁內容,通常情況下是html格式的網頁,也支持pdf, word等文檔。 首...
    fankang閱讀 2,059評論 0 1
  • 時間尋海岸,可是終點定是飄無居所,你老了,我長大了。年輪似曾相識!看著你臉上的皺紋,頭上的白發,我祈盼時間慢慢走....
    清水出芙蓉ln閱讀 164評論 0 0