UI: UISlider 实现指定范围值的选择

允许用户用一个简单直观的界面来在一个范围内选择一个值。 
 
现在在 viewDidLoad 方法中创建滑动条。在这段代码中,我们想要滑动条的滑块在 0 到 100 之间滑动,而且默认的位置为 50. 

 

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    _mySlider = [[UISlider alloc]initWithFrame:CGRectMake(0, 0, 200, 23)];
    _mySlider.center = self.view.center;
    _mySlider.minimumValue = 0.0f;
    _mySlider.maximumValue = 100.0f;
    _mySlider.value = _mySlider.maximumValue/2.0;
    
    [self.view addSubview:_mySlider];
}

Value这个属性是可以读写的.如果你想要滑块用动画的方式移动到某个值,可以调用 slider 的 setValue:animated: 方法同时传递参数 YES 。

Slider 上的小滑块叫做 thumb。 
如果你想要在 thumb 每次移动时都接收到一个事件的话,就必须用addTarget:action:forControlE vents:方法来将你的对象添加为 slider 的一个 target。 
//thumb 每次移动时都接收到一个事件
    [_mySlider addTarget:self action:@selector(sliderValueChange:) forControlEvents:UIControlEventValueChanged];
- (void)sliderValueChange:(id)sender{
    NSLog(@"%f",_mySlider.value);
}
可能有时候你只想在用户手指放开 thumb 而且新的值以及设置好以后得到通知。这种情况下你必须把 slider 的 continuous 属性设置为 NO。当这个属性被设置为其默认值 YES 时,thumb 滑动时会连续调用 slider 的 target。 
_mySlider.continuous = NO;
slider 的 thumb 可以显示不同的图 片。如果你想要修改 thumb 的图片的话,可以调用 setThumbImage:forState:方法。
该方法的第一个参数是图片,第二个参数有一下几种情况: 
UIControlStateNormal
正常状态的 thumb,即用户没有点击 thumb
UIControlStateHighlighted
选中状态的 thumb,即用户点击 thumb 时显示的图片 
[_mySlider setThumbImage:[UIImage imageNamed:@"ThumbNormal.png"] forState:UIControlStateNormal];
[_mySlider setThumbImage:[UIImage imageNamed:@"ThumbHighlighted.png"] forState:UIControlStateHighlighted];

 

 

posted @ 2014-10-10 11:40  safiri  阅读(717)  评论(0编辑  收藏  举报