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

最佳答案

我建议为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];

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

关于iphone - 禁止滑动UISlider,但仍允许其接收UIControlEventTouchDown,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16906572/

10-09 09:14