gpt4 book ai didi

ios - 如何使用 Voice Over 确定当前聚焦的 UITableViewCell 的索引路径?

转载 作者:行者123 更新时间:2023-12-01 21:59:52 25 4
gpt4 key购买 nike

我有一个动态的 UITableView。对于每个单元格,我添加一个 UIAccessibilityCustomAction .当 Action 触发时,我需要知道索引路径,这样我才能做出相应的响应并更新我的模型。

tableView(_:cellForRowAt:)我添加我的 UIAccessibilityCustomAction像这样...

cell.accessibilityCustomActions = [
UIAccessibilityCustomAction(
name: "Really Bad Name",
target: self,
selector: #selector(doSomething)
)
]

我尝试使用 UIAccessibility.focusedElement无济于事...
@objc private func doSomething() {
let focusedCell = UIAccessibility.focusedElement(using: UIAccessibility.AssistiveTechnologyIdentifier.notificationVoiceOver) as! UITableViewCell
// Do something with the cell, like find the indexPath.
}

问题是转换到单元格失败。调试器说返回值类型其实是 UITableTextAccessibilityElement ,我找不到任何信息。

最佳答案

When the action fires, I need to know the index path so I can respond accordingly and update my model.



实现目标的最佳方式是 使用 UIAccessibilityFocus informal protocol 通过直接在您的对象中覆盖它们的方法(在您的情况下为表格 View 单元格类):当触发自定义操作时,您将能够捕获所需的索引路径。

我建议看看 this answer处理捕获可访问性焦点更改,如果需要,包含带有代码片段的详细解决方案。😉

示例片段...
class SomeCell: UITableViewCell

override open func accessibilityElementDidBecomeFocused() {
// Notify view controller however you want (delegation, closure, etc.)
}

}

关于ios - 如何使用 Voice Over 确定当前聚焦的 UITableViewCell 的索引路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60311611/

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