菜鸟成长记-仿今日头条雏形
来源:互联网 发布:mysql中text最大长度 编辑:程序博客网 时间:2024/05/19 05:34
最近有一个需求就是实现类似一个今日头条标签栏的效果,有这个需求就得先看看今日头条的效果是怎样的,看完之后第一件事就是在网上扒一扒类似的代码,copy了几份,都没有合适的,于是就自己动手实现了,现在还只是一个基本实现
效果图:
个人没用过制作动态图,所以效果稍差了点,我的频道可以长按移动位置及删除
思路:
标签栏是一个ScrollView,它的内容显而是一组按钮,点击不同的按钮切换对应的正文内容数据,这里就可以分析正文内容数据其实也是一个ScrollView,而正文ScrollView上面则是一个tableView套在里面,由此分析到这就解决了第一个界面的基本控件,那接下来就是逻辑
1:无非就是怎么确定标签栏ScrollView中点击的是哪一个按钮,然后确定这个点击的按钮,将按钮index设置到正文ScrollView中
[contextScroll.setContentOffset.CGPointMake(index*screen_width, 0) animated:YES];这就可以让选择按钮对应正文
2:滑动正文ScrollView对应标签栏的按钮,这个就得实现代理方法
CGFloat offset_x = scrollView.contentOffset.x;
NSInteger index = offset_x/screen_width;
通过偏移值获取对应按钮的index,就可以实现需求第二个界面说说长按实现移动和删除思路:我是将按钮添加在一个view中,每个按钮有自己的tag
判断UILongPressGestureRecognizer手势的状态
1:UIGestureRecognizerStateBegan:开始状态下将开始选中的按钮中心点作为起始点,当然起始点是全部的
2:UIGestureRecognizerStateChanged:变化状态下利用locationInView:view方法获取到移动的位置
在将移动的位置赋值给当前的按钮的中心点,当前按钮移动时判断是否进入到其他按钮范围内CGRectContainsPoint这个方法进行判断,获取开始的tag和结束移动的tag,之后就是调换位置,
3:UIGestureRecognizerStateEnded:结束状态下,就将最开始的起始点置为当前的按钮的中心点
抖动动画:
代码:
http://download.csdn.net/detail/json_6/9540054
- 菜鸟成长记-仿今日头条雏形
- 仿今日头条
- 仿今日头条
- viewpagerindacator仿今日头条
- 精仿今日头条
- 精仿今日头条
- 精仿今日头条
- 精仿今日头条
- 精仿今日头条
- 仿今日头条Fragment
- 仿今日头条adapter
- 仿今日头条滑动评论效果
- 仿今日头条顶部导航效果
- 高仿今日头条(转载)
- 仿今日头条的graidview拖动
- 仿今日头条的graidview拖动
- 高仿《今日头条》滚动TitleBar
- 仿网易/今日头条滑动视图
- PCH文件使用
- 开发利器之PyCharm
- C中字符串UTF-8和GB2312互转
- Codeforces677B
- 使用JavaMail创建邮件和发送邮件
- 菜鸟成长记-仿今日头条雏形
- 【MyBatis框架点滴】——MyBatis一对一查询
- Tachyon:Spark生态系统中的分布式内存文件系统
- 排序算法
- 【Leetcode】Insert Interval
- struts和springmvc相关获取ServletContext()方式
- Mockplus
- HP电脑 VMware Workstation Pro装Centos6.7 报错
- JavaScript基础——面向对象的程序设计(一)创建对象的几种方式总结