[TwistedFate]滑塊UISlider 跑圖UIImageView

UISlider

初始化及設背景色

UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(40, 100, 300, 20)];
slider.backgroundColor = [UIColor redColor];

設置軌跡顏色

[slider setMinimumTrackTintColor:[UIColor greenColor]];
[slider setMaximumTrackTintColor:[UIColor blackColor]];

設置球的顏色

[slider setThumbTintColor:[UIColor cyanColor]];

設置背景圖片

[slider setMinimumValueImage:[UIImage imageNamed:@"01-refresh"]];
[slider setMaximumValueImage:[UIImage imageNamed:@"03-loopback"]];

設置 軌跡圖片

// 設置軌跡圖片
[slider setMinimumTrackImage:[UIImage imageNamed:@"03-loopback"] forState:(UIControlStateHighlighted)];     
// 三種狀態

設置圓球圖片

// 三種狀態
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 = 0;

添加滑動事件

// 除了button 其餘多用ValueChanged
[slider addTarget:self action:@selector(sliderAction:) forControlEvents:(UIControlEventValueChanged)];

添加到視圖上並釋放

[self.view addSubview:slider];
[slider release];

跑圖

創建一個數組存儲圖片

NSMutableArray *imageArray = [NSMutableArray array];
for (int i = 1; i < 22; i++) {
    UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]];
    [imageArray  addObject:image];
}

初始化imageView添加標籤及背景色

UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 160, 375, 400)];
imageV.tag = 111;
imageV.backgroundColor = [UIColor redColor]

設置imageView播放動畫的數組

imageV.animationImages = imageArray;

設置時間間隔(播放完整的一次時間間隔)

imageV.animationDuration = 10;

設置重複的次數(零代表無限次)

imageV.animationRepeatCount = 0;

設置開始播放動畫

[imageV startAnimating];

添加到視圖上並釋放

[self.view addSubview:imageV];
[imageV release];

實現點擊事件

slider控制 動畫播放的時間間隔,並且 slider滑動到最大值 停止動畫

- (void)sliderAction:(UISlider *)slider{
    UIImageView *imageV = (UIImageView *)[self.view viewWithTag:111];
    if (slider.value == slider.maximumValue) {
        [imageV stopAnimating];
        slider.selected = YES;
        imageV.image = [UIImage imageNamed:@"car.jpg"];
    }else{
        imageV.animationDuration = 10 - slider.value;
        [imageV startAnimating];
        slider.selected = NO;
    }
發佈了68 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章