天天看點

UISlider控件的使用解析

上傳一段通過UISlider控件來控制動畫速度的代碼

@implementation RootViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

   self = [superinitWithNibName:nibNameOrNilbundle:nibBundleOrNil];

   if (self) {

        // Custom initialization

    }

    return self;

}

- (void)viewDidLoad

{

    [superviewDidLoad];

    //imageName:方法是從bundle(包)中找照片

    UIImageView *imageView1=[[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"453_36388_882073.jpg"]];

    imageView1.center=CGPointMake(160,320);

    [self.viewaddSubview:imageView1];

    imageView=[[UIImageViewalloc]initWithFrame:CGRectMake(15,40,289, 220)];

    [self.viewaddSubview:imageView];

    NSMutableArray*images=[[NSMutableArrayalloc]initWithCapacity:7];

   for (int i=0; i<7; i++) {   //一共設定了7張圖檔

        NSString *imageName=[NSStringstringWithFormat:@"u=4207553503,3962206909&fm=21&gp=0.jpg-%d(被拖移).tiff",i+1];//圖檔名稱這裡可以改成你想要的一切圖檔,但是請注意這些圖檔的關聯性.這裡注意%d的指代.

       UIImage* image=[UIImageimageNamed:imageName];

        [imagesaddObject:image];

    }

    imageView.animationImages=images;//将imageView設定為全局變量;

    //給imageView指定一組用于做動畫的圖檔

    imageView.animationDuration=0.1;//動畫的總時長(一組動畫顯示下來的總時間)

    imageView.animationRepeatCount=3;//顯示圖檔循環次數.

    [self.viewaddSubview:imageView];

    [imageViewstartAnimating];

    UISlider*slider=[[UISlideralloc]initWithFrame:CGRectMake(20,240,280, 30)];

    slider.maximumValue=5;

    slider.minimumValue=0.1;

    [slider addTarget:selfaction:@selector(changeSpeed:)forControlEvents:UIControlEventAllEvents];

     NSLog(@"++++++++++++++++++%f",imageView.animationDuration);

    [self.viewaddSubview:slider];

// Do any additional setup after loading the view.

}

-(void)changeSpeed:(UISlider*)slider{

   imageView.animationDuration=slider.value;

   [imageViewstartAnimating];

    NSLog(@"---------------%f",imageView.animationDuration);//列印輸出下時長的值,便于觀察變化

}