iOS獲取cell中webview的內(nèi)容尺寸
最近項(xiàng)目中遇到在cell中獲取webView的內(nèi)容的尺寸的需求 實(shí)現(xiàn)的思路其實(shí)很簡單 就是通過執(zhí)行js 獲取尺寸即可 為了后面用著方便我直接封裝了一個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) 很簡單 就是聲明了 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';"];//可以響應(yīng)用戶的手勢
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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS中UIScrollerView的用法及基于AotoLayout的控件懸停
這篇文章主要介紹了iOS中UIScrollerView的用法及基于AotoLayout的控件懸停,文中對于UIScrollerView的方法及屬性介紹地非常詳細(xì),十分推薦,示例代碼為Objective-C,需要的朋友可以參考下2016-03-03
解決ios微信下vue項(xiàng)目組件切換并自動播放音頻問題
最近在做一個英語答題項(xiàng)目,項(xiàng)目需求是通過答題取的成績 , 答題的題型是分為,聽音選圖,看圖選詞和填空題.下面小編給大家?guī)砹薸os微信下vue項(xiàng)目組件切換并自動播放音頻的解決方案,需要的朋友參考下吧2018-01-01
使用設(shè)計模式中的Singleton單例模式來開發(fā)iOS應(yīng)用程序
這篇文章主要介紹了使用設(shè)計模式中的Singleton單例模式來開發(fā)iOS應(yīng)用程序的例子,示例代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下2016-03-03
iOS 圖片上傳使用base64或者二進(jìn)制流上傳頭像功能
這篇文章主要介紹了iOS 圖片上傳使用base64或者二進(jìn)制流上傳頭像功能,需要的朋友可以參考下2017-09-09
iOS基于UITableView實(shí)現(xiàn)多層展開與收起
這篇文章主要為大家詳細(xì)介紹了iOS基于UITableView實(shí)現(xiàn)多層展開與收起的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-03-03

