进击的KFC:UI(六)UISegmentControl,UISlider,NSTimer,UIImageView
来源:互联网 发布:js new做了什么 编辑:程序博客网 时间:2024/05/29 15:04
一.pragma mark ————- UISegmentedControl 分段按钮
———————————–继承于UIControl
1.初始化
UISegmentedControl seg = [UISegmentedControl alloc] initWithItems:(NSArray )
注意这个初始化用到的数组里的元素 必须是字符串 或者 镂空图
(1)字符串数组初始化 NSArray *itemArray = @[@"你好",@"KFC",@"再见"]; // 分段按钮 UISegmentControl *segmentControl = [[UISegmentControl alloc] initWithItems:itemArray]; segmentControl.frame = CGRectMake(20,100,300,50); // 设置属性 // 设置默认的选中第2个 segmentControl.selectedSegmentIndex= 1; // 修改旋转状态的 填充 颜色 segmentControl.tintColor = [UIColor blackColor]; // 修改中间段的宽度 (两边按钮的宽度会自动缩短) [segmentControl setWidth:200 forSegmentAtIndex:1]; // 为指定下标的分段设置标题 [segmentControl setTitle:@"M" forSegmentAtIndex:1];(2)// 用图片来初始化 // 镂空图:能够把背景的颜色,在轨迹上透出来 // 选中状态下,镂空图能显示不选中状态下的颜色 // 不选中状态下,镂空图能显示选中状态下的颜色 NSArray *imageArray = [NSArray arrayWithObjects:[UIImage imageNamed:@"friend"],[UIImage imageNamed:@"02-redo"],[UIImage imageNamed:@"03-loopback"],nil]; // 其他属性的设置和上面一致 // 添加一个点击时间 (核心方法) // 分割控件 添加方法 选择 ValueChanged(监测角标,索引高度变化) [segmentControl setTarget:self action:@selector:(segmentControlAction:) forControlEvents:(UIControlEventValueChanged)];
二.pragma mark —- UISlider 滑块控件
———————————–继承UIControl
// 先设置成属性@property(retain,retain)UISlider *slider;// 初始化self.slider = [[UISlider alloc]initWithFrame:CGRectMake(20,100,300,50)];// 设置属性// 设置背景颜色self.slider.backgroundColor = [UIColor greenColor];// 设置轨迹颜色self.slider.minimumTrackTintColor = [UIColor redColor]; // 左侧颜色self.slider.minimumTrackTintColor = [UIColor greenColor]; // 右侧颜色// 设置滑块的填充色self.slider.thumbTintColor = [UIColor orangeColor] // 设置图片// 设置滑块在不同状态下的图片[self.slider setThumbImage:[UIImage imageNamed:@"jinru"] forState:(UIControlStateNormal)];[self.slider setThumbImage:[UIImage imageNamed:@"friend"]forState:(UIControlStateHighlighted)];[self.slider setThumbImage:[UIImage imageNamed:@"02-redo"forState:(UIControlStateSelected)];// 添加最小值最大值两端的图片self.slider.minimumValueImage = [UIImage imageNamed:@"02-redo"];self.slider.maximumValueImage = [UIImage imageNamed:@"02-redo"];// 设置初值,最大值,最小值self.slider.minimumValue = 0;self.slider.maximumValue = 10;self.slider.value = 1;self.slider.continuous = NO; // 滑动时不连续显示数值,只在显示最后停留位置处的值// 添加响应事件[self.slider addTarget:self action:@selector(sliderAction:)forControlEvents:(UIControlEventValueChanged)];// 添加显示[self.view addSubView:self.slider];
三.pragma mark ———-UIImageView
// ImageView动画 (跑图) self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 200, 340, 400)]; self.imageView.backgroundColor = [UIColor redColor]; [self.view addSubview:self.imageView]; // 构建一个图片数组 (找一组图片拉进工程,注意把图片名字改成1 2 3...10) self.onePunch = [NSMutableArray array]; for (int i = 1; i < 11; i++) { [self.onePunch addObject:[UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]]]; } // 设置imageView播放动画的数组 self.imageView.animationImages = self.onePunch; // 设置重复的次数 (0代表无限次) self.imageView.animationRepeatCount = 0; // 设置完整播放一次的时间(秒)(10秒放10张图,所以改变animationDuration的值,可以改变播放的速度); self.imageView.animationDuration = 10; // 开始动画 [self.imageView startAnimation];
四.pragma mark —- NSTimer计时器
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. // 创建一个button self.button = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 200, 100)]; self.button.backgroundColor = [UIColor blackColor]; [self.button setTitle:@"发送验证码" forState:(UIControlStateNormal)]; [self.button addTarget:self action:@selector(click:) forControlEvents:(UIControlEventTouchUpInside)]; [self.view addSubview:self.button]; // 给一个时间的初值 self.number = 5;}- (void)click:(UIButton *)button{ // 倒计时:核心 每隔一秒 时间递减 // 计时器类(可以实现每隔多少时间 调用一个方法),用类方法来初始化 // (NSTimeInterval) 时间间隔 // 每隔1秒钟调用timer:这个方法 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timer:) userInfo:@"button倒计时" repeats:YES]; // 计时器开始 [timer fire]; // 关闭按钮交互 self.button.userInteractionEnabled = NO;}- (void)timer:(NSTimer *)timer{ // 改button的标题进行倒计时 NSString *Buttontitle = [NSString stringWithFormat:@"%ld秒",self.number--]; [self.button setTitle:Buttontitle forState:(UIControlStateNormal)]; // 判断倒计时 是否结束 标题是否为0 { if ([[self.button titleForState:(UIControlStateNormal)] isEqualToString:@"0秒"]) { // 停止计时器 [timer invalidate]; [self.button setTitle:@"重新发送验证码" forState:(UIControlStateNormal)]; // 把交互再打开 可以重新点击 self.button.userInteractionEnabled = YES; // 重置时间,不然会从继续从-1开始计时 self.number = 5; } }}
0 0
- 进击的KFC:UI(六)UISegmentControl,UISlider,NSTimer,UIImageView
- UI 第六天 UISegmentControl UISlider UIImageView
- UISegmentControl、UISlider、UIImageView
- 进击的KFC:OC(六)Block
- 进击的KFC:UI(十一)自定义Cell
- 进击 的KFC:UI(12)动画
- 进击的KFC:UI(13)多线程
- 进击的KFC:UI(十)UITableView的编辑和移动
- 进击的KFC:UI(一)UIView及其子类
- 进击的KFC:UI(二)基础视图、程序启动流程
- 进击的KFC:UI(三)自定义视图、视图控制器
- 进击的KFC:UI(五)手势识别器
- 进击的KFC:UI(七)滚动视图 和 分页按钮
- 进击的KFC:UI(八)导航试图控制器,传值
- 进击的KFC:UI(九)UITableView 表示图
- 进击的KFC:UI(14)集合视图UICollectionView
- 爬爬爬之路:UI(六) UISegmentedControl UISlider NSTimer的简单应用
- 进击的KFC:懒加载
- 数据结构与算法(1)——分解质因数及各种方法求最大公约数
- Android 自定义权限 (<permission> <uses-permission>)
- json解析
- ehcache页面缓存
- OpenGL ES混合Blend
- 进击的KFC:UI(六)UISegmentControl,UISlider,NSTimer,UIImageView
- CocoaPods环境配置、安装和使用教程
- [知其然不知其所以然-11] turbo功能如果没有在所有的cpu上都使能会怎么样?
- Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live
- 移动研究院和银行类面试
- Android 动画源码学习篇(一)
- app评论
- 自定义UINavigationController 切换动画
- HTML与JSP页面的区别