ScrollView分栏视图分析
代码精华部分如下:
//1.添加scrollView /* 1). 添加一个scrollView;2).创建关注、热门、附近三个控制器。3). 存储它们的名字到数组中,遍历并放到本控制器里。4).设置scrollView的contentSize.5).设置scrollview的偏移量。6).调用当停止动画的方法设置为当前的scrollView.(应该是停止拖拽的方法)*/NSArray *controls = @[@"STRFollowViewController",@"STRHotViewController",@"STRNearViewController"];for (NSInteger i = 0; i < controls.count; i++) {UIViewController *vc = [[NSClassFromString(controls[i]) alloc] init];vc.title = self.titleNames[i];[self addChildViewController:vc];}self.MainScrollView.contentSize = CGSizeMake(self.titleNames.count *[UIScreen mainScreen].bounds.size.width , 0);self.MainScrollView.contentOffset = CGPointMake(SCREEN_WIDTH, 0);[self scrollViewDidEndDecelerating:self.MainScrollView]; } //2.设置代理 #pragma mark scrollViewDelegate - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{[self scrollViewDidEndScrollingAnimation:scrollView]; } - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{/**1. 获取宽度和高度,还要打开分页功能2. 获取索引值。3. 设置偏移量4. 设置viewframe,如没有加载过再加载,否则不返回5. 添加子控制器view到scrollview上*/NSInteger width = SCREEN_WIDTH;NSInteger height = SCREEN_HEIGHT;CGFloat offsetX = scrollView.contentOffset.x;NSInteger index = offsetX/width;[self.topView topViewWithIndex:index];UIViewController *vc = self.childViewControllers[index];if ([vc isViewLoaded]) return;vc.view.frame = CGRectMake(offsetX, 0, width, height);[self.MainScrollView addSubview:vc.view]; } //3.添加topView- (STRTopView *)topView{if (!_topView) {_topView = [[STRTopView alloc] initWithFrame:CGRectMake(0, 0, 200, 44) titleNames:self.titleNames tagBlock:^(NSInteger index) {[self.MainScrollView setContentOffset:CGPointMake(index *SCREEN_WIDTH, 0) animated:YES];}];}return _topView; }
转载于:https://www.cnblogs.com/TheYouth/p/6257197.html
ScrollView分栏视图分析相关推荐
- JS导出Word默认页面视图、横向、分栏、设置固定页眉显示
JS导出Word默认页面视图.横向.分栏.设置固定页眉 显示 JS导出Word默认页面视图.横向.分栏显示 JS导出Word默认页面视图.横向.分栏显示.固定页眉 styles设置为空:WPS无法默认 ...
- 【LaTeX】 案例分析 (9) - MCM 2021 - 目录 / 伪代码 / 分栏 / 文字框 / 组合图 / 表格排版 / 公式编号
小组选择题目为 MCM 2021 - A题 Fungi (真菌) Final Result: Honorable Mention 注: 其中很多环境运用到的环境所需宏包(package)可能不太清楚了 ...
- HTML怎么把文字分栏_PPT文字巨多!领导还不让删,怎么排版才高大上?
本文由公众号"跟我学个P"首发. 嗨,各位木友们好呀,我是小木. 如标题所言,做PPT碰到这种"文字巨多.而且领导还不让删.并且强行要求你必须做得高大上"的情 ...
- 设置TabBar分栏控制器上图片的大小问题
我们都知道,iOS因为屏幕分辨率的问题,UID在交付我们iOS开发人员程序配图的时候,一般是三套图,分别对应三种不同的分辨率,对不同size的屏幕系统会自动使用不同像素的图片,我们只需要在命名时给三套 ...
- 如何在word写小论文在正文分栏后第一页左下角添加 项目 基金 作者简介 (添加通栏脚注)
(之前写小论文发期刊遇到的添加项目基金 作者简介的问题在这里记录一下) 1.打开视图里的草稿界面 2.把光标放在(点击)文章作者后面 3.点击 引用 界面 打开脚注扩展到脚注和尾注界面 按图中所示点击 ...
- 手机wps取消不等宽分栏_如何取消分栏 - 卡饭网
Word 2007中取消分栏的技巧 Word 2007中取消分栏的技巧 前面我们了解了在Word2007中分栏的设置,相信很多朋友已经学会了,而如果想要对网上下载的分栏文档中进行取消,该怎么办呢?下面 ...
- 解决安卓刷新recyclerView时导致itemDecoration分栏标题绘制错乱(重叠和隔空现象)
安卓的 itemDecoration 装饰器是个好东西,可以与adapter适配器一样闪耀.但是刷新的时候有可能发生重叠绘制或者莫名隔空的BUG. 三.原作 本文分栏标题装饰器的原作者为简书博主end ...
- 计算机分栏过程,计算机基础与程序设计-要点分栏.docx
计算机基础与程序设计-要点分栏 1-1-操作系统包括:1单用户操作系统,DOS;2批处理操作系统:3分时操作系统,UNIX,VMS;4实时操作系统时操作系统,VsWorks;5网络操作系统,netwa ...
- fastreport 横向分栏_为什么大家现在放弃使用Excel,而选择第三方报表工具呢?...
Excel是一个电子表格程序,而不是一个数据库程序.Excel数据处理容量和速度有限制,数据可视化程度不高,都是以表格为主,虽然也能插入一些图表,但是灵活度和美观度不够,设置起来也相当麻烦,并且数据获 ...
最新文章
- Mac-sublime text 3破解版
- 论文合集 | 李飞飞新论文:深度学习代码搜索综述;Adobe用GAN生成动画(附地址)...
- 腾讯员工吐槽:团队来了个阿里高p,瞬间会议变多,群多了
- oracle用dba登陆怎么登,以SQLDBA身份登录isqlplus
- Going Home
- 左神算法:用栈来求解限制后的汉诺塔问题(Java版)
- 好的物联网开源框架_通过开源文化实现更好的物联网
- 1月3日 升 级gazebo7
- JQ 按钮实现两种功能
- mysql utf8 bom_UTF8的BOM
- 有关电子邮箱的各种协议
- 大数据平台基础架构hadoop安全分析
- 2022腾讯云学生服务器申请流程(全攻略)
- JavaScript中浏览器兼容性解决办法
- 13.SpringBoot学习(十三)——JDBC之 Spring Boot Jpa多数据源
- Pytorch深度学习笔记(02)--损失函数、交叉熵、过拟合与欠拟合
- 如何在素材中心中下载字体并安装?
- 社区-发表评论和回复评论
- 百度Ai实现网络图片文字识别--Java
- Mysql解决中文乱码
热门文章
- 【高级Java架构师系统学习】java十六进制字符串转数字
- 【设计思想解读开源框架】java监听模式和观察者模式
- 【2021年度训练联盟热身训练赛第二场】g2g c u l8r(python)
- 【深度学习入门到精通系列】Deep Q Network
- python【力扣LeetCode算法题库】17-电话号码的字母组合
- delphi oracle新建用户,Delphi 中如何用另外一个用户的身份来运行一人程序
- php获取图高度,PHP imagesx()、imagesy() – 获取图像宽度与高度_程序员人生
- android 上拉隐藏布局,Recycleview上拉隐藏与下拉显示
- java特征向量计算_用Java和Python计算特征向量的差异
- Java 抖音授权登录