gpt4 book ai didi

ios - 带有按钮特征的 UIAccessibilityElement 在画外音说出按钮后添加 "one of one"

转载 作者:行者123 更新时间:2023-11-28 07:29:26 24 4
gpt4 key购买 nike

我正在使用 UIAccessibilityElement 将来自多个标签和按钮的信息封装在自定义 UITableViewCell 中。当启用画外音并且用户滑动浏览每个元素时,我希望将特定元素组合在一起。例如,用户不再说“最喜欢的食物”,而是必须再次滑动才能听到“比萨”,系统会说“最喜欢的食物比萨”。

在我的子类单元格中,我通过覆盖 accessibilityElements 来实现这一点。但是,当我将 UIButton 添加到 accessibilityElements 时遇到问题。在下面的代码中,我创建了 viewProfileButtonAccessibilityElement。我添加了可访问性标签和特征 .button。当旁白说出时,它会显示“查看个人资料图片按钮之一”。我不知道“其中之一”是从哪里来的。知道是什么导致 Voice Over 在说出单词按钮后添加“其中之一”吗?

  private var cachedAccessiblityElements: [Any]?

override var accessibilityElements: [Any]? {
set {
cachedAccessiblityElements = newValue
}
get {
// Return the acessibility elements if we've already created them
if let cachedAccessiblityElements = cachedAccessiblityElements {
return cachedAccessiblityElements
}

var elements = [UIAccessibilityElement]()

if let favoriteFoodTitle = favoriteFoodTitle.text, let favoriteFood = favoriteFood.text {
let favoriteFoodAccessibilityElement = UIAccessibilityElement(accessibilityContainer: self)
favoriteFoodAccessibilityElement.accessibilityLabel = favoriteFoodTitle + " " + favoriteFood
favoriteFoodAccessibilityElement.accessibilityFrameInContainerSpace = self.favoriteFoodTitle.frame.union(self.favoriteFood.frame)
elements.append(favoriteFoodAccessibilityElement)
}

let viewProfileButtonAccessibilityElement = UIAccessibilityElement(accessibilityContainer: self)
viewProfileButtonAccessibilityElement.accessibilityLabel = "View Profile Picture"
viewProfileButtonAccessibilityElement.accessibilityTraits = UIAccessibilityTraits.button
viewProfileButtonAccessibilityElement.accessibilityFrameInContainerSpace = self.viewProfileButton.frame
elements.append(viewProfileButtonAccessibilityElement)

cachedAccessiblityElements = elements
return cachedAccessiblityElements
}
}

最佳答案

I can't figure out where "one of one" is coming from. Any idea what is causing Voice Over to add "one of one" after speaking the word button?

您在具有 .button 特征的单元格中创建的每个 UIControl 按钮都将按照您提到的方式发声。

无论在 tableviewcell 中创建了多少个按钮,都将使用相同的后缀发声,指示它们所属的单元格以及该部分中的单元格总数。

“one of one” 在您的示例中表示您的按钮位于第一个单元格中,并且您的部分中只有一个单元格。

例如,如果您在包含十个单元格的部分的第三个单元格中创建两个按钮,您会听到两个按钮的后缀“十分之三”

我希望这个解释足够清楚,可以理解您的“one of one”是从哪里来的。

关于ios - 带有按钮特征的 UIAccessibilityElement 在画外音说出按钮后添加 "one of one",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55361314/

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