前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >UIScrollView

UIScrollView

作者头像
拉维
发布2019-08-12 15:47:42
8930
发布2019-08-12 15:47:42
举报
文章被收录于专栏:iOS小生活

前面两篇文章聊的UITableView和UICollectionView都是继承自UIScrollView,本篇文章就来简单聊聊UIScrollView。

frame是视图在屏幕中展示的位置和大小,也就是可视区域的位置和大小。

contentSize是scrollView视图的内部内容可以滚动的区域大小,也就是scrollView视图内容的实际大小。

contentOffset是scrollView实际滚动区域的左上角与视图可视区域左上角的距离。

pagingEnabled是是否以一页的大小整体进行滚动,也就是用来实现翻页的效果

UIScrollView的一些常用的代理方法如下:

#pragma mark - UIScrollViewDelegate

//监听页面滚动,根据scrollView.contentOffset来做业务逻辑

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

// NSLog(@"%f, %f", scrollView.contentOffset.x, scrollView.contentOffset.y);

}

//开始拖拽。中断一些业务逻辑,比如视频、gif的播放(在列表拖动的时候停止播放gif和视频)

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

NSLog(@"scrollViewWillBeginDragging");

}

//结束拖拽

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

{

NSLog(@"scrollViewDidEndDragging");

}

//开始减速

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView

{

}

//减速结束。用于页面滚动停止的时候开启一个逻辑,比如视频自动播放(页面停止滚动后,开启视图滚动前暂停的gif或者视图的播放)

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

}

实例介绍

上图是我在知乎首页的一个截图。

首先,整个从上而下它是一个tableView+collectionView。(内容列表是tableView,“关注、推荐、热榜”标题栏是一个collectionView)

然后,“关注、推荐、热榜”每一个标题栏都对应一个tableView,一共有3个tableView,这三个tableView都添加到一个共同的scrollView上,然后这个scrollView的pagingEnabled要设置成YES,这样才能实现翻页的效果

以上。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS小生活 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档