Swift 中带有 UISegmentedControl 的 VoiceOver
VoiceOver with UISegmentedControl in Swift
我正在尝试将 VoiceOver 添加到分段控件,但 Apple 示例代码不适用于 Swift 3:
Objective C代码:
NSString *title = @”∫”;
title.accessibilityLabel = @”Integral”;
[segmentedControl insertedSegmentedWithTitle:title];
不适用于 Swift 这样的:
var title: NSString = "∫"
title.accessibilityLabel = "Integral"
segmentedControl.insertSegment(withTitle: title, at: 0, animated: false)
Swift 将只接受一个字符串,但我需要添加一个 NSString,因为它具有 VoiceOver 属性。
对此有什么帮助吗?
是否有更好的方法向分段控件添加辅助功能或 VoiceOver?
谢谢
格雷格
根据安迪的评论我编码:
segmentedControl.subviews[0].accessibilityLabel = "Seg 2";
segmentedControl.subviews[1].accessibilityLabel = "Seg 1";
segmentedControl.subviews[2].accessibilityLabel = "Seg 0";
不是最好的,注意子视图与外观相反,但目前看来是唯一的方法。
格雷格
我正在尝试将 VoiceOver 添加到分段控件,但 Apple 示例代码不适用于 Swift 3:
Objective C代码:
NSString *title = @”∫”;
title.accessibilityLabel = @”Integral”;
[segmentedControl insertedSegmentedWithTitle:title];
不适用于 Swift 这样的:
var title: NSString = "∫"
title.accessibilityLabel = "Integral"
segmentedControl.insertSegment(withTitle: title, at: 0, animated: false)
Swift 将只接受一个字符串,但我需要添加一个 NSString,因为它具有 VoiceOver 属性。
对此有什么帮助吗?
是否有更好的方法向分段控件添加辅助功能或 VoiceOver?
谢谢
格雷格
根据安迪的评论我编码:
segmentedControl.subviews[0].accessibilityLabel = "Seg 2";
segmentedControl.subviews[1].accessibilityLabel = "Seg 1";
segmentedControl.subviews[2].accessibilityLabel = "Seg 0";
不是最好的,注意子视图与外观相反,但目前看来是唯一的方法。
格雷格