• TableView上的HeaderView放WebView


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

    {

    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
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    经验谈 论前端架构的重要性
    论 Angular的混乱
    DTW 算法(转)
    软件提高发射功率原理
    (转)LSI SAS 1068E Raid CentOS 5.5 安装实例浪潮NF5220系列 分类: linux
    聚类算法总结
    信号相似性的描述
    python科学计算整理
    一个无线通信类投稿的期刊list
    2012年Elsevier旗下Computer Science期刊最新SCI影响因子排名
  • 原文地址:https://www.cnblogs.com/Ghosgt/p/7410979.html
Copyright © 2020-2023  润新知