gpt4 book ai didi

ios - 如何在行的滑动操作配置中为 VoiceOver 添加辅助功能标签?

转载 作者:搜寻专家 更新时间:2023-10-30 23:08:02 25 4
gpt4 key购买 nike

我正在使用 Swift 4 创建一个 iOS 应用程序,但我没有使用 Storyboard。要从 TableView Controller 中删除一行,用户向左滑动该行,然后单击删除按钮。

这是我用来实现它的代码(没有使用外部库):

override func tableView(_ tableView: UITableView, trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
self.isAccessibilityElement = true
self.accessibilityLabel = "Delete row"


let deleteAction = UIContextualAction(style: .normal , title: "DELETE") { (action, view, handler) in

self.removeRowFromMyList(indexPath: indexPath.row)

MyListController.stations.remove(at: indexPath.row)
self.tableView.deleteRows(at: [indexPath], with: .automatic)

self.tableView.setEditing(false, animated: true)
self.tableView.reloadData()
}
let swipeAction = UISwipeActionsConfiguration(actions: [deleteAction])
swipeAction.performsFirstActionWithFullSwipe = false

return swipeAction
}

我确实检查了其他问题,但没有一个解决这个问题。请不要犹豫,在这里发表评论,了解解决此问题所需的任何其他信息。谢谢:)

最佳答案

使用来自 UIAccessibility 的辅助功能自定义操作由苹果

您只需要设置辅助功能自定义操作:

cell.accessibilityCustomActions = [UIAccessibilityCustomAction(name: "Delete", target: self, selector: #selector(theCustomAction))]


@objc private func theCustomAction() -> Bool {
//Do anything you want here
return true
}

更新:

所以我确实重新创建了项目,但这次我使用的是 Storyboards(我不是最后一次)并且我从 Cocoapods 导入了 SwipeCellKit Library我按照他们的文档进行操作,VoiceOver 可以完美地从他们的 indexPath.row 中删除一个单元格,没有任何问题。

关于ios - 如何在行的滑动操作配置中为 VoiceOver 添加辅助功能标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47529860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com