辅助功能:在Voice-over模式下设置slider.value时,不会发布UISlider的UIControlEventValueChanged

Shi*_*lpi 5 accessibility uislider ios

我在父视图中有一个UISlider.我想尊重滑块移动的配音手势,因此,我已经实现了accessibilityIncrement和accessibilityDecrement方法,如下所示:

- (void)accessibilityIncrement
{
     float finalValue = self.value;
    finalValue = (finalValue + 1);
    if (finalValue > self.maximumValue)
        finalValue = self.maximumValue;
    self.value = finalValue;    
}

- (void)accessibilityDecrement
{
    float finalValue = self.value;
    finalValue = (finalValue - 1);
    if (finalValue < self.minimumValue)
        finalValue = self.minimumValue;
    self.value = finalValue;

}
Run Code Online (Sandbox Code Playgroud)

问题是当我设置滑块的值(使用self.value = finalValue)时,不会调用UIControlEventValueChanged事件的选择器.这是一个Bug吗?

谢谢!

XLE*_*_22 0

对于VoiceOver 的推荐解决方案包括UISlider在代码中使用委托increment以及已使用的和decrement方法,以根据旋钮位置调整滑块值。