Я нахожу обходной путь для этого случая. В методе pickerView(_:didSelectRow:inComponent:)
я использую UIAccessibilityPostNotification
с UIAccessibilityAnnouncementNotification
, передавая выбранный элемент, заставляя голос за кадром сделать правильное объявление.
Objective- C:
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
if(UIAccessibilityIsVoiceOverRunning()){
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, self.items[row]);
}
}
Swift:
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if(UIAccessibility.isVoiceOverRunning){
UIAccessibility.post(notification: UIAccessibility.Notification.announcement, argument: self.items);
}
}