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

时间:2018-07-25 15:28:29

标签: ios swift uirefreshcontrol uiaccessibility xcode9.2

我正在尝试添加UIRefreshControl的可访问性,该控件已实现为如下所示在UITableView中进行拉动刷新

self.refreshControl.accessibilityLabel = "Refreshing"

但是,如果打开了可访问性并通过在UITableview上滑动三根手指,则不会说是刷新。

我重写了accessibilityScroll方法,如下所示。

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

任何想法,谢谢!

1 个答案:

答案 0 :(得分:1)

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