ios - 如何将 UITableVewCell 的可访问性特征设置为仅“链接”?
问题描述
我有一个UITableViewCell
显示有变色指示器但打开另一个应用程序而不是推送视图控制器(例如“访问我们的网站”,在 Safari 中打开)。我对可访问性和画外音的有限理解使我相信这应该被标记为“链接”而不是“按钮”,因为用户将离开应用程序。为此,我accessibilityTraits
将.link
.
但是,一旦我在单元格上设置了披露指示符,该单元格就会被读取为“访问我们的网站 - 按钮,链接”。
有没有办法保留披露指示符但从.button
单元格中删除特征?
解决方案
有没有办法保留披露指示器但从单元格中删除 .button 特征?
实现目标的一种方法是创建一个UITableViewCell
将.link
值作为accessibilityTraits
属性的子类。
class testCell:UITableViewCell {
override var accessibilityTraits: UIAccessibilityTraits {
get { return .link }
set { }
}
}
在视图控制器中指示这种新的单元格类型将仅读取其链接属性,如下所示:
override func tableView(_ tableView: UITableView,
cellForRowAt indexPath: IndexPath) -> testCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "reuseIdentifier",
for: indexPath) as! testCell
cell.textLabel?.text = "Visit our Website"
return cell
}
按照这个原理,您可以将 UITableVewCell 的可访问性特征设置为 'link' only。
如果需要,有一个引人入胜的网站,其中提供了许多关于特征的信息以及插图和代码片段。
推荐阅读
- scenebuilder - Gluon Scene Builder 无法启动 (15.0.0-RC1.msi)
- ios - 如何在 SwiftUI 中获取小部件圆角半径的大小?
- php - PHP 在数组中显示完整的错误列表
- c++ - C++ 编译错误已自行修复(试图找出原因)
- python - 使用 matplotlib.animation 扭曲刻度标签
- html - 尝试实现动作减速器时出现角度ngrx抛出错误
- youtube-api - 在开发聊天机器人时,处理 YouTube 数据 API 配额的最有效方法是什么?
- gcloud - gcloud 更新组件 - 文件权限被拒绝 ...\kuberun_licenses\LICENSES.txt
- python - 为什么 python sum() 函数在这种情况下不起作用?
- java - 为什么设计(activity_main.xml)和实际应用看起来不同?