• UIWebView增加头部尾部


    一:webViw的头部实现比较简单,代码如下:

       //@property(nonatomic)UIEdgeInsetscontentInset; 这个属性能够在UIScrollView的4周增加额外的滚动区域 

       //默认的是(0,0,0,0),这样就能空出一个240的区域

            self.contWeb.scrollView.contentInset  = UIEdgeInsetsMake(240, 0, 0, 0);

            UIView *head = [[UIView alloc] initWithFrame:CGRectMake(0, -240, KScreenWidth, 240)];

            [head setBackgroundColor:[UIColor redColor]];        

            [self.contWeb.scrollView addSubview:head];

            [self addObserverForWebViewContentSize];

    二:webView的尾部由于不知道加载的HTML的所占区域,所以在尾部不能使用跟头部一样的方法直接设置,需要获取HTML所占的高度

        //监听contentSize事件

        - (void)addObserverForWebViewContentSize{

            [self.contWeb.scrollView addObserver:self forKeyPath:@"contentSize" options:0 context:nil];

        }

        //移除监听事件

        - (void)removeObserverForWebViewContentSize{

            [self.contWeb.scrollView removeObserver:self forKeyPath:@"contentSize"];

        }

        //以下是监听结果回调事件:

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

        {  

            //在监听回调里添加webView尾部

            [self layoutCell];

          }

        //设置footerView的合理位置

        - (void)layoutCell{

            //取消监听,因为这里会调整contentSize,避免循环,无限递归

            [self removeObserverForWebViewContentSize];

            CGSize contentSize = self.contWeb.scrollView.contentSize;

            UIView *foot = [[UIView alloc]init];

            [foot setBackgroundColor:[UIColor blueColor]];

            foot.frame = CGRectMake(0, contentSize.height, KScreenWidth, 240);

            [self.contWeb.scrollView addSubview:foot];

            self.contWeb.scrollView.contentSize = CGSizeMake(contentSize.width, contentSize.height + 240);

            //重新监听

            [self addObserverForWebViewContentSize];

          }

          直接调取添加监听事件那个方法就能使用

  • 相关阅读:
    Python学习笔记-常用内置函数
    Python练习-高阶函数-2018.12.03
    Python练习-生成器、迭代器-2018.12.01
    Python练习-列表生成式-2018.11.30
    Python练习-迭代-2018.11.28
    Python练习-循环及切片-2018.11.27
    FortiGate端口聚合配置
    FortiGate路由模式--静态地址线路上网配置
    方位电话批量配置教程
    Python学习笔记(七)
  • 原文地址:https://www.cnblogs.com/var-king/p/6004082.html
Copyright © 2020-2023  润新知