大家都知道ios中的UISlider控件,也就是小滑块,它为用户提供了一种可见的做范围调整的方法,经常用在设置声音值和灵敏度控制等相关方面,用起来很简单,但有时候我们需要纵向的小滑块,网上有大牛说自己重写一个UISlider,我感觉那样挺费劲的,只要将其旋转不久行了吗,看代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//初始化显示区,高度一般设置为零,它会自动调整
self.slider = [[UISlider alloc]initWithFrame:CGRectMake(0, 100, 200, 0)];
//设置最大值和最小值
self.slider.minimumValue = 0;
self.slider.maximumValue = 200;
//滑动时的监听事件
[self.slider addTarget:self action:@selector(sliderAction) forControlEvents:UIControlEventValueChanged];
//滑动滑块时是等一次性滑动完后改变值还是不断进行改变
[self.slider setContinuous:YES];
//将其顺时针旋转90度,这下就变成纵向的了
self.slider.transform = CGAffineTransformMakeRotation(M_PI_2);
[self.view addSubview:self.slider];
}
-(void)sliderAction{
float value = self.slider.value;
NSLog(@"the value of slider is %f",value);
}