如何在 Swift 中为 UIRefreshControl 添加可访问性

How to add accessibility for UIRefreshControl in Swift

我正在尝试为 UIRefreshControl 添加可访问性,它已实现用于在 UITableView 中拉动刷新,如下所示

self.refreshControl.accessibilityLabel = "Refreshing"

但是,如果辅助功能已打开并通过在 UITableview 上滑动三指,则不会说是刷新。

我重写 accessibilityScroll 方法如下。

override func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool {
    if direction == .up {
        self.refreshControl.accessibilityLabel = "Refreshing"
    }
    return true
}

任何想法谢谢!

首先,刷新不仅仅是向上滚动。它向上滚动超过 y 位置 0。否则,只要用户向上滚动,就会发生这种情况。其次,使用 UIAccessibilityPostNotification 向用户宣布 UI 元素刚刚更改。