を変更する前に読んで終了する要素を待つ:iOSのVoiceOverが、私が示されているラベルを切り替えることができ、ボタンを持って次の要素に
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBOutlet weak var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
button.accessibilityLabel = "You can tap this really long string that i'm testing"
label.accessibilityLabel = "This is a label"
}
@IBAction func buttonTapped(_ sender: UIButton) {
label.isHidden = !label.isHidden
if !label.isHidden {
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, label)
}
}
}
ボタンをタップするとラベルが表示されている場合、私はにラベルを活性化させますVoiceOverで読むことができます。問題は、ユーザーがボタンをタップすると、VoiceOverが自動的にボタンのaccessibilityLabel
の読み取りを開始することです。これにより、ボタンのaccessibilityLabel
の半分をVoiceOverで読み取ると、ラベルのaccessibilityLabel
(たとえば、「これは本当にタップできます...これはラベルです」)にスワップします。
VoiceOverには、ボタンのaccessibilityLabel
だけその後、コールUIAccessibilityPostNotification
を読んで行われているときに私が知ることができる方法はありますか?または、ユーザーがボタンをタップしたときにVoiceOverによってボタンが再び読み取られないようにする方法はありますか?
サンプルプロジェクトをここで見ることができます:https://github.com/rajohns08/VoiceOverTest