如何在 Swift 中为 UIRefreshControl 添加可访问性
Posted
技术标签:
【中文标题】如何在 Swift 中为 UIRefreshControl 添加可访问性【英文标题】:How to add accessibility for UIRefreshControl in Swift 【发布时间】:2018-07-25 15:28:28 【问题描述】:我正在尝试添加 UIRefreshControl 的可访问性,它已在 UITableView 中实现拉刷新,如下所示
self.refreshControl.accessibilityLabel = "Refreshing"
但是,如果打开可访问性并通过在 UITableview 上滑动三指,则不会说是刷新。
我重写了accessibilityScroll方法如下。
override func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool
if direction == .up
self.refreshControl.accessibilityLabel = "Refreshing"
return true
任何想法谢谢!
【问题讨论】:
您有关于用户如何在启用 VoiceOver 的情况下执行下拉刷新手势的任何信息吗? 【参考方案1】:首先,刷新不仅仅是向上滚动。它向上滚动超过 y 位置 0。否则,只要用户向上滚动,就会发生这种情况。其次,使用 UIAccessibilityPostNotification 向用户宣布 UI 元素刚刚更改。
【讨论】:
UIAccessibility.post(通知:UIAccessibility.Notification.announcement,参数:self.refreshControl?.attributedTitle?.string)以上是关于如何在 Swift 中为 UIRefreshControl 添加可访问性的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中为以下观察删除 GeoFire 句柄?
如何在 Swift 中为 UIBarButtonItem 设置动作
为啥自定义 UIRefreshControl 类的背景颜色在 Swift 中没有改变?