Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Руководство по программированию часов Apple

PDF
На этой странице

Текст и метки

Для отображения текста в приложении WatchKit используйте объекты метки. Метки поддерживают форматированный текст, который может быть изменен программно во время выполнения.

Для добавления метки к контроллеру интерфейса перетащите его в соответствующую сцену раскадровки. Оттуда, сконфигурируйте начальную текстовую строку и формат метки. WatchKit поддерживает и стандартные шрифты и пользовательские шрифты, которые Вы указываете сами. Рисунок 8-1 показывает стили стандартного шрифта, доступные для Вас для использования.

Изобразите 8-1Standard стили шрифтов для меток image: ../Art/text_styles_2x.png

Для получения дополнительной информации о конфигурировании объектов метки в XCode и в Вашем коде, посмотрите Ссылку класса WKInterfaceLabel.

Используя шрифты

Приложения WatchKit, интерфейсы взгляда и интерфейсы уведомления используют системный шрифт для отображения текста. Контроллеры интерфейса в Вашем главном приложении могут также использовать пользовательские шрифты для отображения текста. (Взгляд и интерфейсы уведомления не могут использовать пользовательские шрифты.) Для использования пользовательских шрифтов необходимо установить те шрифты путем выполнения следующего:

  • Включайте файл пользовательского шрифта и в Ваше приложение WatchKit и в Ваш пакет расширения WatchKit.

  • Добавьте UIAppFonts ключ к Вашему приложению WatchKit Info.plist файл и использование это для указания шрифтов Вы добавили к пакету. Для получения дополнительной информации об этом ключе, посмотрите информационную Ключевую Ссылку Списка свойств.

Для форматирования текста с помощью пользовательского шрифта создайте приписанную строку с помощью информации о шрифтах и затем используйте ту строку для установки текста метки, как показано в Перечислении 8-1. Имя шрифта и размер кодируются с приписанной строкой, тогда использующейся для обновления метки на Часах Apple пользователя. Если имя шрифта, которое Вы указываете, не является ни системным шрифтом, ни одним из Ваших пользовательских установленных шрифтов, WatchKit использует системный шрифт.

Перечисление 8-1Using пользовательский шрифт в строке метки
  • // Configure an attributed string with custom font information
  • let menloFont = UIFont(name: "Menlo", size: 12.0)!
  • var fontAttrs = [NSFontAttributeName : menloFont]
  • var attrString = NSAttributedString(string: "My Text", attributes: fontAttrs)
  • // Set the text on the label object
  • self.label.setAttributedText(attrString)

Управление вводом текста

WatchKit обеспечивает стандартный модальный интерфейс для получения ввода текста от пользователя. Когда представлено, интерфейс позволяет пользователю вводить текст через предписание или выбирать из стандартного набора фраз или emoji, как показано на рисунке 8-2.

Изобразите 8-2Gathering ввод текста от пользователя image: ../Art/text_input_phrases_2x.png

Для представления этого интерфейса вызовите presentTextInputControllerWithSuggestions:allowedInputMode:completion: метод в настоящее время активного контроллера интерфейса. При представлении интерфейса Вы указываете типы ввода, который Вы поддерживаете и блок для выполнения с результатами. Вы также указываете начальный набор фраз для отображения в интерфейсе. Пользователь может выбрать из доступных фраз или использовать средства управления для ввода различной фразы.

Перечисление 8-2 показывает, как сконфигурировать контроллер ввода текста и обработать результаты. После указания начальных фраз и режимов ввода контроллер работает асинхронно. Когда пользователь выбирает элемент или отменяет ввод, Ваш блок выполняется на основном потоке. Используйте тот блок для получения текста или изображения emoji, выбранного пользователем, и обновите приложение.

Перечисление 8-2Presenting контроллер ввода текста
  • NSArray* initialPhrases = @[@"Let's do lunch.", @"Can we meet tomorrow?", @"When are you free?"];
  • [self presentTextInputControllerWithSuggestions:initialPhrases
  • allowedInputMode:WKTextInputModeAllowAnimatedEmoji
  • completion:^(NSArray *results) {
  • if (results && results.count > 0) {
  • id aResult = [results objectAtIndex:0];
  • // Use the string or image.
  • }
  • else {
  • // Nothing was selected.
  • }
  • }];

Интернационализация текстового кода

Приложения WatchKit могут использовать те же технологии для интернационализации то использование приложений для iOS.

  • Используйте основную поддержку интернационализации XCode раскадровок и xib файлов. Основная интернационализация позволяет Вам иметь только один набор файлов раскадровки, поддерживающий все локализации. Локализованные строки для раскадровки сохранены отдельно в специфичных для языка строковых файлах.

  • Используйте NSLocalizedString семья макросов для получения локализованных строк программно.

  • Используйте NSNumberFormatter класс для форматирования численных значений с помощью области пользователя и настроек локали.

  • Используйте NSDateFormatter класс для форматирования дат с помощью области пользователя и настроек локали.

При интернационализации приложения основное беспокойство должно располагать интерфейс так, чтобы метки (и другие средства управления с текстом) имели пространство для расширения. Например, вместо того, чтобы использовать группу для расположения трех кнопок горизонтально расположите кнопки вертикально для предоставления каждой комнаты для роста горизонтально, когда ее текст станет более длинным.

Для получения дополнительной информации об интернационализации Вашего приложения, посмотрите Руководство по Интернационализации и Локализации.