今天我们学习的是UISlider,就是平时看视频听音乐等的进度条的设置

今天设置的slider是控制播放一组图片速度的例子:

1.初始化以及设置一些属性

// 初始化UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(50, 50, 300, 30)];
// 设置背景色slider.backgroundColor = [UIColor grayColor];
// 设置最小值轨迹颜色[slider setMinimumTrackTintColor:[UIColor greenColor]];
// 设置最大值轨迹颜色[slider setMaximumTrackTintColor:[UIColor purpleColor]];
// 设置拖动按钮颜色[slider setThumbTintColor:[UIColor brownColor]];
// 设置图片[slider setMinimumValueImage:[UIImage imageNamed:@"01-refresh"]];[slider setMaximumValueImage:[UIImage imageNamed:@"03-loopback"]];[slider setThumbImage:[UIImage imageNamed:@"01-refresh"] forState:UIControlStateNormal];[slider setThumbImage:[UIImage imageNamed:@"02-redo"] forState:UIControlStateHighlighted];[slider setThumbImage:[UIImage imageNamed:@"03-loopback"] forState:UIControlStateSelected];
// 设置滑块的初值 最大值 最小值
// 如果想设置初始位置 需要先把最大 最小值设置上
// 再给初值 才会发生变化slider.minimumValue = 0;slider.maximumValue = 10;slider.value = 10;

2.添加滑动事件(重要的,需要通过添加事件来关联)

[slider addTarget:self action:@selector(sliderClick:) forControlEvents:UIControlEventValueChanged];

事件的实现(预先添加了图片,然后设置播放完一组照片的时间为slider的值来联系起来)

- (void)sliderClick:(UISlider *)slider
{UIImageView *imageView = (UIImageView *)[self.view viewWithTag:1000];if (slider.value == slider.maximumValue) {// 为了美观 停止的时候 添加一张占位图[imageView stopAnimating];imageView.image = [UIImage imageNamed:@"005.jpg"];}else{//  把播放玩一组照片的时间与slider的值联系起来imageView.animationDuration = slider.value;[imageView startAnimating];}
}

3.设置一组图片动画

// imageViewUIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 500)];imageView.backgroundColor = [UIColor purpleColor];imageView.tag = 1000;[self.view addSubview:imageView];[imageView release];// 构建一个图片的数组NSMutableArray *arr = [NSMutableArray array];for (int i = 1; i <= 10; i++) {// 把图片的名字拼接出来NSString *imageName = [NSString stringWithFormat:@"%d.jpg",i];// 初始化每一张图片UIImage *image = [UIImage imageNamed:imageName];// 把图片添加到数组里[arr addObject:image];}// 设置imageView的播放动画的数组imageView.animationImages = arr;
// 设置时间间隔(播放完整一次10秒)imageView.animationDuration = 10;
// 设置重复次数(零代表无限次)imageView.animationRepeatCount = 0;
// 让动画开始[imageView startAnimating];
}

最后一个是倒计时的实例:

点击一个发送验证码的按钮进行倒计时

- (void)viewDidLoad {[super viewDidLoad];UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];button.frame = CGRectMake(100, 100, 100, 100);button.backgroundColor = [UIColor purpleColor];button.tag = 100;[button setTitle:@"发送验证码" forState:UIControlStateNormal];[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:button];// 设置倒计时初值self.number = 5;}- (void)buttonClick:(UIButton *)button
{// 倒计时核心 每隔 一秒钟 时间递减// 计时器(每隔多少时间 调用一个方法)// (NSTimeInterval) 代表时间间隔NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:@"button倒计时" repeats:YES];// 计时器开始[timer fire];button.userInteractionEnabled = NO;}- (void)timerAction:(NSTimer *)timer
{// 改button的标题UIButton *button = (UIButton *)[self.view viewWithTag:100];NSString *buttonTitle = [NSString stringWithFormat:@"%ld",self.number--];[button setTitle:buttonTitle forState:UIControlStateNormal];
// 判断倒计时是否结束(标题是否为0)if ([[button titleForState:UIControlStateNormal] isEqualToString:@"0"]) {// 停止计时器[timer invalidate];// 更改标题[button setTitle:@"发送验证码" forState:UIControlStateNormal];// 打开交互button.userInteractionEnabled = YES;// 重置时间self.number = 5;}}

转载于:https://www.cnblogs.com/888yf/p/4992717.html

我的iOS学习历程 - UISlider(简单的设置一组图片动画)相关推荐

  1. 我的iOS学习历程 - OC第九天

    今天主要讲的是内存的管理方法 1.IOS的内存管理中 Mac是使用的垃圾回收(gc) 有轮询延迟 手机用的是 引用计数 2.引用计数的方法: ( 1 ) alloc alloc 开辟空间引用计数 从0 ...

  2. 我的iOS学习历程 - UISegmentedControl

    今天学习的是UISegmentedControl,相当于一个切换的分区栏,例如看小说会分最新,最热等,可以用此控件来进行切换 1.初始化(用数组进行初始化)并添加到视图上 // 数组中初始化必须是字符 ...

  3. 我的iOS学习历程 - OC第四天

    今天主要说的是不可变字符串以及可变字符串的系统方法的调用和作用(配套练习题以及源代码下载页面) main函数 #import <Foundation/Foundation.h> int m ...

  4. xamarin android密码,Xamarin.Forms学习历程(七)——用户偏好设置存储

    经常会遇到要存储一下用户账号密码之类的,让用户下次登录时不需要重新输入账号密码,直接进入主界面.Xamarin.Forms里没有自己的解决方案,还是得调用iOS和Android原生的API才可以实现. ...

  5. 微信小程序中这么简单的设置页面背景图及字体颜色的方法,你还不会?

    在微信小程序中,我们不免的要设置背景图片和字体颜色. 那怎么样才能做到简单的设置背景图片和字体颜色呢? 话不多说,直接开讲 首先先说怎么设置页面背景图片: 这是博主准备的照片. 下面是在wxml中的代 ...

  6. IOS学习路线(2014-05-08)

    2019独角兽企业重金招聘Python工程师标准>>> 黑马最新IOS就业班(14年7月-12月份)培训视频教程 第一阶段:UI基础(17天) 计算器案例 介绍类前缀.简单介绍新建工 ...

  7. ios学习--iphone开发笔记和技巧总结(原址持续更新)

    ios学习--iphone开发笔记和技巧总结(原址持续更新) 分类: ios Object-C2012-04-18 10:16 2716人阅读 评论(1) 收藏 举报 uiviewiphonelist ...

  8. iOS学习路线图--UIKIt概述

    1.先分享一张iOS学习路线图吧,网上找的,感觉不错 2.再来一张UIkit类框架图,也是网上找的 3.UIkit各类概述 1.UIAcceleration: 被叫做加速事件的一个UIAccelera ...

  9. asp.net2.0学习历程 菜鸟到中级程序员的飞跃【月儿原创】

    asp.net2.0学习历程 菜鸟到中级程序员的飞跃 --30本好书点评 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.5.1 ...

最新文章

  1. js array 对象
  2. python外星人入侵飞船上下移动_python外星人入侵游戏左移正常,右移屏幕上不显示,但实际上已经移动了?...
  3. IDEA 集成Lombok 插件-安装插件
  4. 利用Mac创建一个 IPv6 WIFI 热点
  5. 用JS写的无缝滚动特效
  6. 10.Java 面试题整理(CORBA 方面)
  7. [习题]如何触发 GridView 身体里面的「子控件」的事件 (ASP.NET案例精编 / 清华大学出版社 Ch.10/11两章的补充)...
  8. 登陆获取cookie
  9. Python命令行版本的员工管理系统
  10. 数据交互之封装request请求(微信小程序篇)
  11. AI 时代,程序员从小白到小牛的发展攻略丨今晚直播送机械键盘!
  12. InstallShield 2020 基本使用教程
  13. python制作卡通表情包_python——简单生成表情包
  14. 计算机注册表命令,进入注册表的方法和命令(电脑的注册表怎么打开)
  15. Android setTheme设置透明主题无效
  16. 联网门锁·未来可期|专访中科易安教育行业事业部CSO聂辛
  17. 5.Java SE 多线程
  18. 小学英语教学c语言,小学英语老师常用的课堂操练游戏100例
  19. GPS\GSM模块的设计与开发
  20. 如何计算近似纳什均衡_大角度单摆的运动近似(4):级数近似

热门文章

  1. 存储器的保护(二)——《x86汇编语言:从实模式到保护模式》读书笔记19
  2. Head First JSP---随笔一
  3. if语句的一个错误记录,多了个“;”号
  4. 【Cannot convert from [[B] to】 @RabbitListener 反序列化报错
  5. float、double(浮点数)区别还有和decimal(定点数)的比较
  6. S5PV210开发 -- 烧写/启动模式
  7. Bit-Z如何注册?【新手操作指南】
  8. 豆瓣图书的推荐与搜索、简易版知识引擎构建(neo4j)
  9. 区块链世界中的IOTA:它是什么样的存在?
  10. Android自定义控件实现九宫格解锁