iOS獲取cell中webview的內(nèi)容尺寸
最近項(xiàng)目中遇到在cell中獲取webView的內(nèi)容的尺寸的需求 實(shí)現(xiàn)的思路其實(shí)很簡(jiǎn)單 就是通過(guò)執(zhí)行js 獲取尺寸即可 為了后面用著方便我直接封裝了一個(gè)HTML的cell 起名就叫
STHTMLBaseCell 下面是實(shí)現(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文件的實(shí)現(xiàn) 很簡(jiǎn)單 就是聲明了 STHTMLBaseCell 然后創(chuàng)建了代理 這個(gè)代理方法 就是返回給外部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';"];//可以響應(yīng)用戶的手勢(shì)
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
大致就這么簡(jiǎn)單 就能夠在cell中獲取webview 的內(nèi)容尺寸了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- iOS開(kāi)發(fā)中WebView的基本使用方法簡(jiǎn)介
- IOS中UIWebView加載Loading的實(shí)現(xiàn)方法
- IOS中的webView加載HTML
- 輕松理解iOS 11中webview的視口
- 詳解iOS webview加載時(shí)序和緩存問(wèn)題總結(jié)
- iOS Webview自適應(yīng)實(shí)際內(nèi)容高度的4種方法詳解
- ios開(kāi)發(fā)加載webview顯示進(jìn)度條實(shí)例
- iOS 對(duì)當(dāng)前webView進(jìn)行截屏的方法
- iOS去除Webview鍵盤(pán)頂部工具欄的方法
相關(guān)文章
iOS中UIScrollerView的用法及基于AotoLayout的控件懸停
這篇文章主要介紹了iOS中UIScrollerView的用法及基于AotoLayout的控件懸停,文中對(duì)于UIScrollerView的方法及屬性介紹地非常詳細(xì),十分推薦,示例代碼為Objective-C,需要的朋友可以參考下2016-03-03
IOS程序開(kāi)發(fā)之禁止輸入表情符號(hào)實(shí)例代碼
如何禁止輸入表情符號(hào)呢?下面腳本之家小編給大家分享IOS程序開(kāi)發(fā)之禁止輸入表情符號(hào)實(shí)例代碼,感興趣的朋友參考下吧2016-04-04
iOS創(chuàng)建對(duì)象的不同姿勢(shì)詳解
這篇文章主要介紹了iOS創(chuàng)建對(duì)象的不同姿勢(shì),文中介紹的很詳細(xì),對(duì)大家具有一定的參考價(jià)值,有需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-02-02
解決ios微信下vue項(xiàng)目組件切換并自動(dòng)播放音頻問(wèn)題
最近在做一個(gè)英語(yǔ)答題項(xiàng)目,項(xiàng)目需求是通過(guò)答題取的成績(jī) , 答題的題型是分為,聽(tīng)音選圖,看圖選詞和填空題.下面小編給大家?guī)?lái)了ios微信下vue項(xiàng)目組件切換并自動(dòng)播放音頻的解決方案,需要的朋友參考下吧2018-01-01
使用設(shè)計(jì)模式中的Singleton單例模式來(lái)開(kāi)發(fā)iOS應(yīng)用程序
這篇文章主要介紹了使用設(shè)計(jì)模式中的Singleton單例模式來(lái)開(kāi)發(fā)iOS應(yīng)用程序的例子,示例代碼為傳統(tǒng)的Objective-C語(yǔ)言,需要的朋友可以參考下2016-03-03
iOS 圖片上傳使用base64或者二進(jìn)制流上傳頭像功能
這篇文章主要介紹了iOS 圖片上傳使用base64或者二進(jìn)制流上傳頭像功能,需要的朋友可以參考下2017-09-09
iOS基于UITableView實(shí)現(xiàn)多層展開(kāi)與收起
這篇文章主要為大家詳細(xì)介紹了iOS基于UITableView實(shí)現(xiàn)多層展開(kāi)與收起的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03

