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';"];//讓用戶(hù)可以選中webview里面內(nèi)容
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='auto';"];//可以響應(yīng)用戶(hù)的手勢(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實(shí)現(xiàn)視頻壓縮上傳實(shí)例代碼
本篇文章主要介紹了iOS實(shí)現(xiàn)視頻壓縮上傳實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
通過(guò)UIKit坐標(biāo)系來(lái)全面掌握iOS中的UIScrollView組件
iOS開(kāi)發(fā)套件中的UIScrollView組件十分強(qiáng)大,不僅是滾動(dòng),縮放操作也能夠控制自如,其核心當(dāng)然是坐標(biāo)軸上的控制,下面就通過(guò)UIKit坐標(biāo)系來(lái)全面掌握iOS中的UIScrollView組件2016-05-05
iOS使用UICollectionView實(shí)現(xiàn)列表頭部拉伸效果
這篇文章主要介紹了iOS使用UICollectionView實(shí)現(xiàn)列表頭部拉伸效果,OC和Swift兩個(gè)版本,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
HTTP/2 協(xié)議用于 iOS 推送提醒服務(wù) (APNS)
基于JSON的請(qǐng)求和響應(yīng)對(duì)于每個(gè)通知,如果成功響應(yīng),將會(huì)返回200標(biāo)識(shí) - 不用再去猜測(cè)通知是否被接收到響應(yīng)錯(cuò)誤將會(huì)以JSON字符消息的長(zhǎng)度從2048個(gè)字節(jié)增加到4096個(gè)字節(jié)連接狀態(tài)可以通過(guò)HTTP/2的ping框架來(lái)進(jìn)行檢查.2016-04-04
iOS overFullScreen與fullScreen區(qū)別分析
這篇文章主要介紹了iOS overFullScreen與fullScreen區(qū)別分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
iOS App開(kāi)發(fā)中通過(guò)UIDevice類(lèi)獲取設(shè)備信息的方法
UIDevice最常見(jiàn)的用法就是用來(lái)監(jiān)測(cè)iOS設(shè)備的電量了,然后再實(shí)現(xiàn)電池狀態(tài)通知非常方便,除此之外還有傳感器等信息的獲取,這里我們就來(lái)總結(jié)一下iOS App開(kāi)發(fā)中通過(guò)UIDevice類(lèi)獲取設(shè)備信息的方法:2016-07-07

