gpt4 book ai didi

ios - UIAccessibility - 画外音不适用于 NSMutableAttributedString

转载 作者:行者123 更新时间:2023-11-28 15:35:57 26 4
gpt4 key购买 nike

我有一个文本“用户可以在‘此处’进行更改。”字母“这里”是可点击的,然后点击它。[检查图像][1]

默认画外音不是专注于它,也不是朗读它。

我怎样才能让它通过画外音聚焦,让它可以点击并念出名字。

为 UI 标签创建了一个扩展,并且正在从 NSRange 计算 attributedText 框架。

        let attribute : [String : Any] = [NSForegroundColorAttributeName: Theme.getColor(forCode: "LinkBlue")]
let strToUse = contentForKey("String")
range = (footerText as NSString).range(of: strToUse)
let attributedString = NSMutableAttributedString(string: footerText)
if let textRange = range{
attributedString.addAttributes(attribute, range:textRange)
}
footerVw.headerTitleLabel.attributedText = attributedString
footerVw.isUserInteractionEnabled = true
let tap = UITapGestureRecognizer(target: self, action: #selector(MyProfileViewController.showPage))
footerVw.headerTitleLabel.addGestureRecognizer(tap)

Thanks in advance.

[1]: /image/uLQZF.png

最佳答案

使 View 可通过 VoiceOver 独立聚焦的事物:

  • theView.isAccessibilityElement = true
  • allHeirarchicalParentViews.isAccessibilityElement = false

  • hierarchicalParent.isAccessibilityElement = false
  • hierarchicalParent 实现了 UIAccessibilityContainer 协议(protocol)。

如果您要提供有关如何实现此 View 的更多详细信息,特别是“用户现在可以进行更改”和“此处”之间的确切区别是什么,我们可以提供更准确的答案。例如:您处理的是什么类型的 View ,什么类型的布局 View ,包含这些不同文本位的 View 是分开的,还是只是被归因的字符串,它是什么元素是事件的以及如何...... ETC?

假设我们只希望整个 UILabel 代表可聚焦区域,并且整个事物都处于事件状态(场景 1)。这个解决方案会有一个简单的问题。当 VoiceOver 激活 accessibilityElements 时,激活点是聚焦矩形的中间。因此,让我们假设您的 UILabel 上有某种类型的点击监听器,并且整个文本位都包含在 VoiceOver 焦点中。您希望将 accessibilityActivationPoint 设置为“此处”文本所在的位置。

yourUILabel.accessibilityActivationPoint = calculatePointOf(text:'Here')

关于ios - UIAccessibility - 画外音不适用于 NSMutableAttributedString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44270111/

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