在ScrollView下滑和上滑时显示不同的背景

我们在使用UIScrollView的时候经常会因为子视图的背景色需要显示在上下滑动时父视图不同的背景。例如淘宝中“我的淘宝”页面,上下拉的时候顶部是橙色,底部是灰色。在此要感谢MJRefresh的作者,是看了MJRefresh才有的灵感。

在scrollViewDidScroll的代理方法中添加如下代码:

func scrollViewDidScroll(scrollView: UIScrollView) {

    if scrollView.contentOffset.y < -scrollView.contentInset.top {

        if scrollViewTopBackView.superview == nil {

            scrollView.addSubview(scrollViewTopBackView)

            scrollViewTopBackView.backgroundColor = UIColor.redColor()

        }

        let scrollViewTopBackViewHeight = -scrollView.contentOffset.y - scrollView.contentInset.top

        scrollViewTopBackView.frame = CGRectMake(0, -scrollViewTopBackViewHeight, HMUITool.ScreenWidth, scrollViewTopBackViewHeight)

    }

}

其中scrollViewTopBackView可以使用直接定义成一个成员变量:

  let scrollViewTopBackView = UIView()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,224评论 4 61
  • 凭着感觉画、一直跑偏不讲理的线条和色彩与自己的情绪搅拌!
    紫蔷薇简书阅读 318评论 0 1
  • 伤害自己的人是可耻的 文/第一滴露珠 今天,读到海子的一首诗,不由又想到了海子的自杀。还想到了三毛。敏感、偏激、执...
    第一滴露珠阅读 422评论 8 9
  • 减肥啊减肥……忌口+运动。今天早上151.2,过一会儿上完厕所开始运动…… 一定要减下来啊TAT!!
    睡精阅读 104评论 0 0
  • android中像素单位dp、px、pt、sp的比较: dp(dip): device independent p...
    然亦伞阅读 1,052评论 1 1