首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIAccessibility -Voice不为NSMutableAttributedString工作

UIAccessibility -Voice不为NSMutableAttributedString工作
EN

Stack Overflow用户
提问于 2017-05-30 19:08:48
回答 2查看 1.9K关注 0票数 1

我有一段文字“用户可以在这里进行更改”。字母“这里”是可点击的,在it.Check的点击图像

默认的声音不是专注于它,也不是把它读出来。

我如何使它集中在声音结束,使它可点击和发音的名字。

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

代码语言:javascript
复制
        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)

提前谢谢。 1:https://i.stack.imgur.com/uLQZF.png

EN

回答 2

Stack Overflow用户

发布于 2017-05-31 14:13:04

使视图可由VoiceOver独立聚焦的内容:

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

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

如果您要更详细地说明这个视图是如何实现的,特别是“用户现在可以进行更改”和“这里”之间的确切分离,我们可以提供一个更精确的答案。示例:您所处理的视图类型,布局视图的类型,包含这些不同文本段的视图是分开的,还是仅仅是属性化的字符串,哪些元素是活动的,以及.等?

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

代码语言:javascript
复制
yourUILabel.accessibilityActivationPoint = calculatePointOf(text:'Here')
票数 1
EN

Stack Overflow用户

发布于 2019-06-19 12:20:03

默认的声音不是专注于它,也不是把它读出来。

达到目标的一个好方法是将可变的字符串封装在一个UITextView中,它的委托将允许打开任意数量的链接:,您将无法通过单一的 UILabel.达到目的

假设您正在使用一个UITableViewHeaderFooterView,例如,尝试在您的页脚contentView中添加这个包装器。

我如何使它集中在声音结束,使它可点击和发音的名字。

这是一个激活所选链接的特定VoiceOver手势:查看包含完整示例的这个答案,其中包括示例,以了解焦点和激活是如何工作的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44270111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档