我有一段文字“用户可以在这里进行更改”。字母“这里”是可点击的,在it.Check的点击图像
默认的声音不是专注于它,也不是把它读出来。
我如何使它集中在声音结束,使它可点击和发音的名字。
为UI标签创建了一个扩展,并正在从NSRange计算NSRange框架。
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)发布于 2017-05-31 14:13:04
使视图可由VoiceOver独立聚焦的内容:
theView.isAccessibilityElement = trueallHeirarchicalParentViews.isAccessibilityElement = false或
hierarchicalParent.isAccessibilityElement = falsehierarchicalParent实现了UIAccessibilityContainer协议。如果您要更详细地说明这个视图是如何实现的,特别是“用户现在可以进行更改”和“这里”之间的确切分离,我们可以提供一个更精确的答案。示例:您所处理的视图类型,布局视图的类型,包含这些不同文本段的视图是分开的,还是仅仅是属性化的字符串,哪些元素是活动的,以及.等?
让我们假设我们只希望整个UILabel表示可聚焦的区域,并且整个事情都是活动的(场景1)。这个解决方案会有一个简单的问题。当VoiceOver激活accessibilityElements时,激活点是聚焦矩形的中间。因此,让我们假设您的UILabel上有某种类型的单击侦听器,并且整个文本都包含在VoiceOver焦点中。您希望将accessibilityActivationPoint设置为“这里”文本所在的位置。
yourUILabel.accessibilityActivationPoint = calculatePointOf(text:'Here')发布于 2019-06-19 12:20:03
默认的声音不是专注于它,也不是把它读出来。
达到目标的一个好方法是将可变的字符串封装在一个UITextView中,它的委托将允许打开任意数量的链接:,您将无法通过单一的 UILabel.达到目的
假设您正在使用一个UITableViewHeaderFooterView,例如,尝试在您的页脚contentView中添加这个包装器。
我如何使它集中在声音结束,使它可点击和发音的名字。
这是一个激活所选链接的特定VoiceOver手势:查看包含完整示例的这个答案,其中包括示例,以了解焦点和激活是如何工作的。
https://stackoverflow.com/questions/44270111
复制相似问题