Ответ Не уверен, что именно вы пытаетесь решить. Но, надеюсь, это поможет.
Шаг 1: Вам необходимо использовать свойство метки доступности label.accessibilityLabel = "some string"
Шаг 2: Преобразуйте дату в более удобную строку для озвучивания. Это можно сделать, используя объект Date()
и отформатировав его по-разному для метки и метки закадрового текста. Вот ссылка для быстрого создания дат.
Ниже находится ссылка на документацию и раздел, в котором упоминаются метки доступности.
Пример игровой площадки: ваш код будет выглядит примерно так.
import UIKit
import PlaygroundSupport
let label = UILabel()
let dateForLabel = formatDate(date: Date(), style: .short)
let dateStringForLabel = "as of \(dateForLabel)"
label.text = dateStringForLabel
let dateForVoiceOverLabel = formatDate(date: Date(), style: .long)
let dateStringForVoiceOver = "as of \(dateForVoiceOverLabel)"
label.accessibilityLabel = dateStringForVoiceOver
func formatDate(date: Date, style: DateFormatter.Style) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = style
dateFormatter.timeStyle = .none
let date = date
// US English Locale (en_US)
dateFormatter.locale = Locale(identifier: "en_US")
return dateFormatter.string(from: date) // Jan 2, 2001
}
Ссылка для создания объекта Date () Как создать объект Swift Date?
Ссылка на документацию Apple на ярлыках специальных возможностей https://developer.apple.com/documentation/uikit/accessibility_for_ios_and_tvos/supporting_voiceover_in_your_app
«Обновите специальные возможности вашего приложения. Для элементов, которые были недоступны для VoiceOver, начните с улучшения их метки доступности и подсказки:
Свойство accessibilityLabel предоставляет описательный текст, который VoiceOver читает, когда пользователь выбирает элемент.
Свойство accessibilityHint предоставляет дополнительный контекст (или действия) для выбранного элемента.
Ярлыки специальных возможностей очень важны, поскольку они содержат текст, который читает VoiceOver. Хорошая метка специальных возможностей должна быть короткой и формирующий. Важно отметить, что UILabel и accessibilityLabel - это разные вещи. По умолчанию VoiceOver читает текст, связанный со стандартными элементами управления UIKit, такими как UILabel и UIButton. Однако эти элементы управления также могут иметь соответствующие свойства accessibilityLabel для добавления дополнительных сведений о метке или кнопке.
В зависимости от контекста подсказки не всегда необходимы. В некоторых случаях метка обеспечивает достаточный контекст. Если вы чувствуете, что слишком много говорите в метке доступности, подумайте о том, чтобы переместить этот текст в подсказку.
Чтобы пользователи понимали назначение вашего интерфейса, вам может потребоваться установить некоторые метки доступности вручную. Метки доступности и подсказки могут быть установлены в Xcode Identity Inspector или программно. "