博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TableView上的HeaderView放WebView
阅读量:5169 次
发布时间:2019-06-13

本文共 2695 字,大约阅读时间需要 8 分钟。

滑动起来没有一丝卡顿现象亲测

{

UIView*view;

UIImageView*image;

CGFloatwebViewHeight;

}

- (void)viewDidLoad {

[superviewDidLoad];

self.table=[[UITableViewalloc]initWithFrame:CGRectMake(0,CGRectGetMaxY(self.webView.frame),kScreenWidth,kScreenHeight-self.tabBarController.tabBar.frame.size.height)];

self.table.delegate=self;

self.table.dataSource=self;

self.table.separatorStyle=UITableViewCellSelectionStyleNone;

[self.viewaddSubview:self.table];

view= [[UIViewalloc]initWithFrame:CGRectMake(0,0,kScreenWidth,kScreenHeight)];

self.table.tableHeaderView=view;

_webView= [[UIWebViewalloc]initWithFrame:CGRectMake(0,0,kScreenWidth,kScreenHeight)];

[_webViewsetScalesPageToFit:YES];//大小自适应

_webView.scrollView.scrollEnabled=NO;

[self.webViewloadRequest:[[NSURLRequestalloc]initWithURL:[NSURLURLWithString:@"你的URL"]]];

[viewaddSubview:_webView];

_webView.delegate=self;

_webView.scrollView.delegate=self;

[_webView.scrollViewaddObserver:selfforKeyPath:@"contentSize"options:NSKeyValueObservingOptionNewcontext:nil];

}

- (void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void*)context

{

if([keyPathisEqualToString:@"contentSize"]) {

webViewHeight= [[_webViewstringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"]floatValue];

CGRectnewFrame=_webView.frame;

newFrame.size.height=webViewHeight;

_webView.frame= newFrame;

[_webViewsizeToFit];

CGRectFrame =view.frame;

Frame.size.height= Frame.size.height+_webView.frame.size.height;

view.frame= newFrame;

[self.table setTableHeaderView:view];//这句话才是重点

}

}

- (void)webViewDidFinishLoad:(UIWebView*)webView

{

CGFloatsizeHeight = [[webViewstringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"]floatValue];

self.webView.frame=CGRectMake(0,0,kScreenWidth, sizeHeight);

stro.contentSize=CGSizeMake(kScreenWidth, sizeHeight+1);

}

- (void)didReceiveMemoryWarning {

[superdidReceiveMemoryWarning];

}

#pragma mark返回每组行数

-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section{

return5;

}

#pragma mark返回每行的单元格

-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{

staticNSString*CellIdentifier =@"Cell";

UITableViewCell*cell = [UITableViewCell dequeueReusableCellWithIdentifier:CellIdentifier];

if(!cell) {

cell = [[commentsTableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:CellIdentifierIndexPa:indexPath];

}

returncell;

}

#pragma mark返回每行高度

- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath

{

return150;

}

作者:iOS我称王
链接:http://www.jianshu.com/p/66b367b8b3ff
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载于:https://www.cnblogs.com/Ghosgt/p/7410979.html

你可能感兴趣的文章
java 过滤css,Java兑现将字符串中的html代码过滤掉的方法
查看>>
华中中科技大学php,这是什么情况,在php里面
查看>>
matlab xml write,opencv 创建和读取xml文件以及matlab生成xml
查看>>
tampermonkey脚本php,Tampermonkey挂机脚本常用代码片段
查看>>
python 推导,python各种推导式(超级详细)
查看>>
php iphoto,iPhoto
查看>>
<?php if (have_posts()) : ?>,WordPress主循環(The Loop)函數have_posts(),the_post()詳解
查看>>
oracle数据投毒,Oracle Database Server TNS Listener远程数据投毒漏洞(CVE-2012-1675)的完美解决方法...
查看>>
oracle创建函数难点,oracle创建函数遇到的坑,
查看>>
PHP抽象函数的依赖注入,依赖注入_PHP编程_互联网开发技术网_传播最新的编程技术_php361.com...
查看>>
linux下创建nginx虚拟目录详解,配置Nginx服务器虚拟目录
查看>>
嵌入式linux内核gpio使用,嵌入式Linux下面查看gpio使用情况
查看>>
利用linux命令进行入侵检测分析总结,Linux之入侵痕迹清理总结
查看>>
linux 文件命名空间,Linux 命名空间
查看>>
c封装linux命令,Linux C调用C 库(用C封装C 接口)
查看>>
linux 内存 补丁,以补丁方式安装KDB
查看>>
linux桌面环境查看显卡,配置显卡、显示器图解教程《进不了桌面的看这里》
查看>>
slax9Linux中文,湖湘杯-WriteUp | CN-SEC 中文网
查看>>
linux内核阻塞系统调用,Linux下文件的阻塞与非阻塞对部分系统调用的影响
查看>>
linux 数据泵备份脚本,Linux 平台下 Oracle 数据泵备份(expdp) SHELL 脚本
查看>>