我的iOS学习历程 - UISlider(简单的设置一组图片动画)
生活随笔
收集整理的這篇文章主要介紹了
我的iOS学习历程 - UISlider(简单的设置一组图片动画)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天我們學習的是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(简单的设置一组图片动画)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: metaprogramming笔记
- 下一篇: WCF 入门(23,24)