iOS моноширинные шестнадцатеричные значения
Я люблю шрифт Сан-Франциско. И хотел бы использовать его, если это возможно. У меня есть табличное представление, которое показывает серию меток, где каждая метка состоит из 6 шестнадцатеричных цифр, например
F0:1A:2B
12:CE:88
Проблема в том, что они не выстраиваются в очередь. Я могу включить моноширинный атрибут цифр для шрифта, но это не учитывает символы ABCDEF. Я пробовал один моноширинный шрифт (Menlo), и он выглядит ужасно и неуместно.
Я играю с 8 маленькими надписями по одному на каждого персонажа (6 шестнадцатеричных цифр плюс два: разделители), что похоже на огромный кусочек. Нет другого пути. Я задавался вопросом, есть ли способ сделать что-то с AttributedString
получить шестнадцатеричные цифры одинаковой ширины?
2 ответа
Если вы хотите использовать пропорционально разнесенный шрифт, вам придется рисовать символы в соответствующих местах. В противном случае найдите понравившийся вам моноширинный шрифт.
Для полноты картины я должен опубликовать то, что я закончил делать после принятия того, что подтвердил @AaronBratcher.
Сначала я создал 5 отдельных UILabels для следующих элементов:
leftTwoDigits-leftSeparator-centerTwoDigits-rightSeparator-rightTwoDigits
Я использовал ограничения, чтобы ограничить все их базовые линии, и между ними было 0 горизонтальных интервалов. Метки разделителя были установлены просто :
и нормальный цвет. Метки xxxTwoDigits получили строку AA
, A
НЕ самый широкий характер, C is
, Но A
рядом с ним. C
слишком широк, и A
достаточно широк. Цвет этих ярлыков был установлен на clear
так что это на самом деле не появляется.
Затем добавляются еще 6 UILabels. Опять те же базовые показатели. Первые два ограничены передней и задней сторонами leftTwoDigits и ограничены по ширине. Повторите эти действия для остальных 4 клеток. Сделать все по центру. И заполняйте их индивидуально индивидуальными цифрами.