iOS獲取cell中webview的內容尺寸
更新時間:2016年09月22日 16:27:19 作者:勇敢的少年
這篇文章主要介紹了iOS獲取cell中webview內容尺寸,具有一定的參考價值,感興趣的小伙伴們可以參考一下
最近項目中遇到在cell中獲取webView的內容的尺寸的需求 實現的思路其實很簡單 就是通過執(zhí)行js 獲取尺寸即可 為了后面用著方便我直接封裝了一個HTML的cell 起名就叫
STHTMLBaseCell 下面是實現代碼:
#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文件的實現 很簡單 就是聲明了 STHTMLBaseCell 然后創(chuàng)建了代理 這個代理方法 就是返回給外部webView的內容的高度的
#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里面內容
[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內容的高度
self.webView.height = height;
if ([self.delegate respondsToSelector:@selector(webViewDidLoad:height:)]) {
[self.delegate webViewDidLoad:self height:height];//調用代理的方法
}
}
@end
大致就這么簡單 就能夠在cell中獲取webview 的內容尺寸了。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
iOS中UIScrollerView的用法及基于AotoLayout的控件懸停
這篇文章主要介紹了iOS中UIScrollerView的用法及基于AotoLayout的控件懸停,文中對于UIScrollerView的方法及屬性介紹地非常詳細,十分推薦,示例代碼為Objective-C,需要的朋友可以參考下2016-03-03
使用設計模式中的Singleton單例模式來開發(fā)iOS應用程序
這篇文章主要介紹了使用設計模式中的Singleton單例模式來開發(fā)iOS應用程序的例子,示例代碼為傳統(tǒng)的Objective-C語言,需要的朋友可以參考下2016-03-03

