如何从VoiceOver中排除UIButton?

Tre*_*lyn 8 uibutton ios voiceover

我有一个UIButton,有时是空白的(没有文字或图像).当它是空白时,我希望VoiceOver跳过它.我已经尝试了以下方法,但没有一个能完成这项工作 - 当用户在视图中滑动时,按钮仍然会突出显示:

  • 将按钮及其所有子视图的.accessibilityTraits设置为UIAcessibilityTraitNotEnabled.这可以防止VoiceOver在选择按钮时说出任何内容,但仍然允许VoiceOver选择按钮.

  • 禁用该按钮(我验证了在Debug View Hierarchy视图中禁用了该按钮).该按钮仍可由VoiceOver选择.

有谁知道如何使VoiceOver完全跳过/忽略UIButton?

rma*_*ddy 6

请尝试以下方法:

someButton.isAccessibilityElement = NO;
Run Code Online (Sandbox Code Playgroud)

这告诉按钮它不是可访问的元素.这可以防止画外音停在按钮上.


Muk*_*ain 5

斯威夫特4

这不适合我:

someButton.isAccessibilityElement = false 
Run Code Online (Sandbox Code Playgroud)

这确实有效:

someButton.accessibilityElementsHidden = true
Run Code Online (Sandbox Code Playgroud)