我需要一些帮助,我正试图完成我的第一个应用程序,现在我正在实现可访问性,而应用程序可以与VoiceOver一起使用。
issu是我在一个视图控制器中有3个不同的选择器视图,但我无法为每个视图控制器修复标签。检查器标识符中的属性不适用于pickerView。如果我使用该方法:
func pickerView(_ pickerView:UIPickerView,accessibilityLabelForComponent component:Int) - >字符串?
是的,我修复了一个标签,但它们中的三个是相同的,并且每个pickerView都有自己的标签。每个pickerview都有一个组件,但我不知道如何设置其他组件来区分每个pickerView并有三个不同的标签,每个标签各一个。任何帮助都是好的
非常感谢预期
我在这里包括下一个:
1st.-选择了一个选择器视图的截图,以及检查器中的标签是如何设置的,但它在运行时不起作用:
2.-用于任何其他控制,标签或文本字段的代码,但不适用于挑选者视图:
extension Rithm {
func applyAccessibility() {
logo.isAccessibilityElement = false
kmMille.subviews[0].accessibilityLabel = NSLocalizedString("Milles", comment: "")
kmMille.subviews[1].accessibilityLabel = NSLocalizedString("Kilometers", comment: "")
switch kmMille.selectedSegmentIndex {
case 1:
distanceTextField.accessibilityLabel = NSLocalizedString("Please, enter a distance in Milles", comment: "")
case 0:
distanceTextField.accessibilityLabel = NSLocalizedString("Please, enter a distance in Kilometers", comment: "")
default:
break
}
hourPickView.accessibilityLabel = NSLocalizedString("Time selector, enter the hours used for the distance selected", comment: "") // DON'T WORK
}
}
第3,与pickerview一起使用的方法,如果你添加一个标签,它会在视图控制器中为所有的pickerview返回,但是,我不知道如何修复这里为每个标签添加一个标签他们。
func pickerView(_ pickerView: UIPickerView, accessibilityLabelForComponent component: Int) -> String?{
hourPickView.accessibilityIdentifier = "Hour"
secPickView.accessibilityIdentifier = "Sec"
minPickView.accessibilityIdentifier = "Min"
switch component {
case 0:
print("Este es: \(component)")
if hourPickView.accessibilityIdentifier == "Hour" {
switch pickerView.accessibilityIdentifier {
case "Hour"?:
return "Box for hour"
case "Min"?:
return "Box for minute"
case "Sec"?:
return "Box for second"
default:
return "Doesn't work"
}
//return "try to check what happens"
} else {
return "doesn't work"
}
default:
print("\(component)")
return "either"
}
}
正如我告诉大家的,谢谢你的帮助!!!