UISlider *_uislider; //新建一個滑動條 UILabel *_uilabel; //新建一個label用來顯示滑動的位置 //滑動條 -(void)testSlider { NSLog(@"begin slider"); //設置滑動條slider的一些基本屬性 _uislider = [[UISlider alloc]init]; _uislider.frame = CGRectMake(10, 365, 300, 50); //滑動條的位置,大小 _uislider.minimumValue = 0; //最小值 _uislider.maximumValue = 500; //最大值 _uislider.value = 0; //默認值 //sliderValueChanged事件 [_uislider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged]; //設置label的屬性 _uilabel = [[UILabel alloc]initWithFrame:CGRectMake(_uislider.frame.origin.x, _uislider.frame.origin.y-10, 70, 20)]; [_uilabel setTextAlignment:UITextAlignmentCenter]; [_uilabel setBackgroundColor:[UIColor clearColor]]; //表示一開始為隱藏,不顯示label,如果不用下面這句一開始進去是不顯示label [_uilabel setAlpha:0.f]; //_uilabel.text = @"aaaaaaaa"; [self.view addSubview:_uislider]; [self.view addSubview:_uilabel]; } -(void)sliderValueChanged:(id)sender { UIImageView *imageView = [_uislider.subviews objectAtIndex:2]; CGRect theRect = [self.view convertRect:imageView.frame fromView:imageView.superview]; [_uilabel setFrame:CGRectMake(theRect.origin.x-22, theRect.origin.y-38, _uilabel.frame.size.width, _uislider.frame.size.height)]; NSLog(@"slider value%f",_uislider.value); NSInteger v = _uislider.value+0.5; //label的顯示數字。為滑動條移動后的位置的value [_uilabel setText:[NSString stringWithFormat:@"%d",v]]; //動畫效果 [UIView animateWithDuration:0.5 animations:^ { [_uilabel setAlpha:1.f]; } completion:^(BOOL finished) { // 動畫結束時的處理 }]; //[timer invalidate]; timer = nil; timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(stopanimate) userInfo:nil repeats:NO]; } -(void)stopanimate { [UIView animateWithDuration:0.5 animations:^{ [_uilabel setAlpha:0.f]; } completion:^(BOOL finished){ // 動畫結束時的處理 }]; }