1

有没有办法禁止 aUISlider滑动,但要让它UIControlEventTouchDown开火?我相信可以做到的一种方法是将滑块的起始值设置为与结束值相同,但我想避免这样做。有谁知道更好的方法?

4

1 回答 1

5

我建议为您的 UISlider 设置 userInteractionEnabled = NO,并添加一个不可见的按钮来处理 TouchDown

UIButton *btnSlider = [UIButton buttonWithType:UIButtonTypeCustom];
btnSlider.frame = CGRectMake(slider.frame.origin.x, slider.frame.origin.y,         slider.frame.size.width, slider.frame.size.height);
[btnSlider addTarget:self action:@selector(sliderTouched) forControlEvents:UIControlEventTouchDown];
btnSlider.backgroundColor = [UIColor clearColor];

[myView addSubview:btnSlider];

然后根据您要启用滑块的任何条件,您可以启用它并禁用该按钮。

于 2013-06-03T23:23:25.933 回答