iOS獲取cell中webview的內(nèi)容尺寸
最近項目中遇到在cell中獲取webView的內(nèi)容的尺寸的需求 實現(xiàn)的思路其實很簡單 就是通過執(zhí)行js 獲取尺寸即可 為了后面用著方便我直接封裝了一個HTML的cell 起名就叫
STHTMLBaseCell 下面是實現(xiàn)代碼:
#import "STBaseTableViewCell.h"@class STHTMLBaseCell; @protocol STHtmlBaseDelegate <NSObject> - (void)webViewDidLoad:(STHTMLBaseCell *)cell height:(CGFloat)height; @end @interface STHTMLBaseCell : STBaseTableViewCell @property (weak, nonatomic) id<STHtmlBaseDelegate>delegate; @end
以上是.h文件的實現(xiàn) 很簡單 就是聲明了 STHTMLBaseCell 然后創(chuàng)建了代理 這個代理方法 就是返回給外部webView的內(nèi)容的高度的
#import "STHTMLBaseCell.h" @interface STHTMLBaseCell()<UIWebViewDelegate> @property (weak, nonatomic) IBOutlet UIWebView *webView;@end @implementation STHTMLBaseCell - (void)awakeFromNib { [super awakeFromNib]; // Initialization code self.webView.scrollView.scrollEnabled = NO; self.webView.scrollView.pagingEnabled = NO; self.webView.delegate = self; self.webView.backgroundColor = [UIColor whiteColor]; } - (void)configCellWithHtml:(NSString *)html //外界傳入的html字符串 { [self.webView loadHTMLString:html baseURL:nil];//加載html } #pragma mrak - UIWebViewDelegate - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='auto';"];//讓用戶可以選中webview里面內(nèi)容 [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='auto';"];//可以響應用戶的手勢 NSURL *url = [request URL]; if (![url host]) { return YES; } return NO; } - (void)webViewDidFinishLoad:(UIWebView *)webView { CGFloat height = [[webView stringByEvaluatingJavaScriptFromString: @"document.body.scrollHeight"] floatValue]; //獲取webview內(nèi)容的高度 self.webView.height = height; if ([self.delegate respondsToSelector:@selector(webViewDidLoad:height:)]) { [self.delegate webViewDidLoad:self height:height];//調(diào)用代理的方法 } } @end
大致就這么簡單 就能夠在cell中獲取webview 的內(nèi)容尺寸了。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
通過UIKit坐標系來全面掌握iOS中的UIScrollView組件
iOS開發(fā)套件中的UIScrollView組件十分強大,不僅是滾動,縮放操作也能夠控制自如,其核心當然是坐標軸上的控制,下面就通過UIKit坐標系來全面掌握iOS中的UIScrollView組件2016-05-05iOS使用UICollectionView實現(xiàn)列表頭部拉伸效果
這篇文章主要介紹了iOS使用UICollectionView實現(xiàn)列表頭部拉伸效果,OC和Swift兩個版本,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05HTTP/2 協(xié)議用于 iOS 推送提醒服務 (APNS)
基于JSON的請求和響應對于每個通知,如果成功響應,將會返回200標識 - 不用再去猜測通知是否被接收到響應錯誤將會以JSON字符消息的長度從2048個字節(jié)增加到4096個字節(jié)連接狀態(tài)可以通過HTTP/2的ping框架來進行檢查.2016-04-04iOS overFullScreen與fullScreen區(qū)別分析
這篇文章主要介紹了iOS overFullScreen與fullScreen區(qū)別分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11iOS App開發(fā)中通過UIDevice類獲取設備信息的方法
UIDevice最常見的用法就是用來監(jiān)測iOS設備的電量了,然后再實現(xiàn)電池狀態(tài)通知非常方便,除此之外還有傳感器等信息的獲取,這里我們就來總結一下iOS App開發(fā)中通過UIDevice類獲取設備信息的方法:2016-07-07