- 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){
- // 动画结束时的处理
- }];
- }
阅读(9890) | 评论(0) | 转发(0) |