2016-01-23 2 views
1

Кто-нибудь нашел способ получить атрибуты объекта WKInterfaceObject, например, кадры содержимого или атрибуты шрифта? Кажется, что функции для устанавливают эти атрибуты, но не имеют доступа к уже существующим.Получение атрибутов классов WKInterfaceObject

Я пытаюсь использовать WKInterfaceLabel.setAttributedText() для установки текста, такого как «XXXyy», где часть «yy» установлена ​​на шрифт, который меньше на процент от исходного размера шрифта. Но я не могу найти способ получить доступ к исходному размеру шрифта. Я также не могу найти способ приблизиться, обратившись к размерам объекта. На данный момент я работаю с жестким кодированием размера шрифта, но это становится все труднее, потому что мне нужно указать атрибуты шрифта, специфичные для устройства, в раскадровке.

ответ

1

Как вы видели из the documentation, a WKInterfaceObject не имеет методов получения.

Связь между объектом интерфейса в вашем расширении и соответствующим представлением на Apple Watch является одним из способов: информация, передаваемая от вашего устройства WatchKit до Apple Watch. Другими словами, вы устанавливаете значения для объекта интерфейса, но вы не можете получить текущие значения его атрибутов. Существуют последствия производительности и задержки для извлечения данных из Apple Watch, внесения изменений и записи этих изменений обратно на устройство. Поэтому рекомендуется поддерживать информацию о конфигурации вашего интерфейса в расширении WatchKit.

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

Возможным обходным путем было бы использовать две соседние метки для строк XXX и yy. Затем вы можете указать шрифт с меньшим (системным или текстовым стилем) в Storyboard вместе с исходным шрифтом.

+0

Спасибо за предложение, но это слишком глупо для того, что я пытаюсь сделать. На данный момент я использую 'WKInterfaceDevice.currentDevice(). ScreenBounds', чтобы вывести размеры часов и определить, какие размеры шрифтов наиболее подходят. Это тоже очень неприятно, но в этом случае это не так. –

Смежные вопросы