iOS开发中创建一个纵向滑动控件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/79958453

先看一个效果图:

https://upload-images.jianshu.io/upload_images/1154538-cb819f377dc2e3ab.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/463

滑动控件 一张图胜过千言万语,一张动态图更是胜过多张图。

看了动态效果图,看者也就应该猜到了本篇文章要说的大致内容了。

在开发中我们有时会有像效果图中这样的需求。比如我们常用的读书App,每本书都会有一个章节目录,如果一本书的章节目录过多有上千张章的话我们要滑动到后面的某一个张可能需要需要滑动很长时间,而如果有了我们效果中的那个右侧滑动控件则能很快地滑动到后面的某些章节。

实现思路:

  1. 首先我们需要创建一个滑动控件,我们利用UISlider(最小值为0,最大值为1)来进行创建。
  2. 我们都知道系统给UISlider是一个横向进度控件,这个我们需要先将该控件进行一个九十度的旋转,让其变成一个纵向进行控件,变成纵向进度控件之后再对其frame进行调整。
  3. 创建一个UITableView,将UISlider的滑动和UITableView的滑动关联起来(在UISlider滑动的时候让UITableView也随着滑动,在UITableView滑动的时候UISlider也随着滑动)。
  4. UITableView和UISlider的具体关联: 4.1 UISlider滑动的时候让UITableView跟着滑动:当UISlider滑动的时候UISlider的value值会发生变化,此时让(value值)乘以(UITableView的数据源总长度-1)获得一个数值,然后让UITableView滑动到该数值所对应的行上。 4.2 UITableView滑动的时候让UISlider跟着滑动:当UITableView滑动的时候记录下它的偏移量,(偏移量)除以(UITableView上所有cell的总高度)获得一个数值,然后将此数值赋值给UISlider的value即可。(注意:1. 当偏移量不小于0的时候改变UISlider的value值 2.当偏移量小于UITableView的高度的时候利用偏移量除以UITableView的总高度,当偏移量大于UITableView的高度的时候利用偏移量和UITableView的高度之和处以UITableView的总高度)。

注意:在滑动UISlider的时候此时UITableView也会滑动但不能再通过UITableView的滑动再去改变UISlider的值。

someone say:talk is sheep,show me your code

demo地址: https://gitee.com/liangsenliangsen/longitudinal_progress_bar.git

本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一“技”之长

iOS头部渐变的表格视图设计 原

        今天再来给大家带来一个开发中常用到的视图控制器,在很多应用中,可能都会遇到这样的一个需求:表视图控制器最上方有一个头图控件,当表格视图滑动在顶部...

1272
来自专栏iOS开发攻城狮的集散地

iOS 瀑布流封装

2368
来自专栏非典型技术宅

iOS动画系列之五:基础动画之缩放篇&旋转篇Swift+OC1. 思路和最终成果2. 抽取公共方法3. 懒加载Layer4. 添加动画

1461
来自专栏DannyHoo的专栏

设置圆角图片的两种方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

2152
来自专栏Rindew的iOS技术分享

iOS初来乍到,你如何开始第一个封装类?

2234
来自专栏iOS开发攻城狮的集散地

iOS 封装跑马灯和轮播效果

6224
来自专栏一“技”之长

iOS UILabe及UIFont用法总结 原

UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];

893
来自专栏mukekeheart的iOS之旅

iOS学习——UIPickerView的实现年月选择器

  最近项目上需要用到一个选择器,选择器中的内容只有年和月,而在iOS系统自带的日期选择器UIDatePicker中却只有四个选项如下,分别是时间(时分秒)、日...

69813
来自专栏落影的专栏

直播APP常用动画效果

介绍 记录、总结开发遇到一些问题,大家一起交流学习。 这次带来,对直播APP的常用动画总结。 直播Live 效果展示 下面是一个很多平台都有的入门豪华礼物动...

5478
来自专栏進无尽的文章

实践 -实现一款中间凸起的TabBar

这是看到一篇文章后感觉很有意思于是就把自己的效果改了改实现了一下,文末有原文链接。

1572

扫码关注云+社区

领取腾讯云代金券