UISlider 滑動條基本屬性


 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){  
                         // 動畫結束時的處理  
                     }];    
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM