【问题标题】:How to release user touch on UISlider?如何释放用户对 UISlider 的触摸?
【发布时间】:2012-05-06 19:57:15
【问题描述】:

我有这样的问题...我想在用户滑动时阻止他的滑块。我认为 .isUserInteractionEnabled 会处理这个问题,但它只有在用户释放滑块后才有效。 我想从用户那里“窃取”滑块并停止它。

怎么做?

【问题讨论】:

    标签: iphone objective-c xcode user-interface uislider


    【解决方案1】:

    你应该给你的 UISlider 对象添加一个选择器。例如,如果你有一个名为“slider”的 UISlider,你应该这样做:

    [slider addTarget:self action:@selector(sliderMoved:) forControlEvents:UIControlEventValueChanged];
    //runs a method called "sliderMoved" located in the same class as the slider (hence the addTarget:self) when the value is changed of the slider
    

    然后你可以做一个这样的方法,当用户试图滑动滑块时,它会将值设置为平均值:

    -(void)sliderMoved:(UISlider*)sender{
        sender.value = (sender.maximumValue + sender.minimumValue) / 2;
    }
    

    【讨论】:

    • 但是我已经实现了“valueChanged”。当其他事情发生时,我不会打断用户。我想也许是一些财产?不知道...
    • 您是否在该特定滑块上实现了 valueChanged?只要您没有将其他方法附加到该特定 UISlider 的 ValueChanged 属性,就可以了。如果它在同一个 UISlider 上,我一定误解了你的问题,因为你说你确实想在用户滑动时打断他们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 2020-01-21
    • 1970-01-01
    相关资源
    最近更新 更多