Как я могу получить вес UILabel?

Пользователь из раскадровки или программно может установить вес шрифта как обычный, полужирный и т. Д.Я хочу прочитать вес для любой метки шрифта.Я попытался ---- +: = 0 =: + ---- и font-weight есть, но нет открытой переменной, чтобы получить вес от шрифта.Является ли это возможным?
4 голоса | спросил Lalit Kumar 8 FebruaryEurope/MoscowbThu, 08 Feb 2018 16:13:57 +0300000000pmThu, 08 Feb 2018 16:13:57 +030018 2018, 16:13:57

5 ответов


0
Чтобы получить имя строки веса шрифта, используйте дескриптор шрифта и передайте атрибут face.Swift 4.2Свифт 3
ответил bbarnhart 8 FebruaryEurope/MoscowbThu, 08 Feb 2018 17:48:14 +0300000000pmThu, 08 Feb 2018 17:48:14 +030018 2018, 17:48:14
0
Попробуйте следующий пример расширения шрифта с Swift 4. (Требуется некоторое улучшение для всех типов веса шрифта)Попробуйте с меткой:Вот документ Apple для списка весов шрифтовЗначение этого веса - объект NSNumber.Допустимый диапазон значений: от -1,0 до 1,0 .Значение 0.0 соответствует обычному или среднему весу шрифта.Вы также можете использовать постоянную веса шрифта, чтобы указать конкретный вес.
ответил Krunal 8 FebruaryEurope/MoscowbThu, 08 Feb 2018 18:20:54 +0300000000pmThu, 08 Feb 2018 18:20:54 +030018 2018, 18:20:54
0
Кажется, что нет прямого способа получить это.В качестве обходного пути вы можете получить информацию о весе шрифта следующим образом:UIFont был приведен как CTFont , который генерирует CFDictionary (с помощью ---- +: = 1 =: + ---- ), который содержит значение kCTFontWeightTrait .Обратите внимание, что это не будет точным весом шрифта, тем не менее, это может быть как-то полезно для указания того, что такое вес:Ключ для доступа к нормализованной характеристике веса из словаря характеристик шрифта.Возвращаемое значение представляет собой CFNumber, представляющий значение с плавающей запятой между -1,0 и 1,0 для нормализованного веса.Значение 0.0 соответствует обычному или среднему весу шрифта .
ответил Ahmad F 8 FebruaryEurope/MoscowbThu, 08 Feb 2018 17:37:15 +0300000000pmThu, 08 Feb 2018 17:37:15 +030018 2018, 17:37:15
0
Вы можете поиграть с символическими чертами шрифта:Проверьте документы для большего количества черт.
ответил Milan Nosáľ 8 FebruaryEurope/MoscowbThu, 08 Feb 2018 16:20:13 +0300000000pmThu, 08 Feb 2018 16:20:13 +030018 2018, 16:20:13
0
Похоже, что ---- +: = 0 =: + ---- не вернет все атрибуты шрифта.К счастью ---- +: = 1 =: + ---- будет, так что мы можем прыгнуть на это.и тогда это так же просто, как ---- +: = 3 =: + ----(Это в основном эквивалентно https://stackoverflow.com/a/48688000/1288097, но использует ---- +: = 4 =: + ---- API)
ответил DeFrenZ 17 MonEurope/Moscow2018-12-17T18:29:18+03:00Europe/Moscow12bEurope/MoscowMon, 17 Dec 2018 18:29:18 +0300 2018, 18:29:18

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132