Я хочу, чтобы надстроить все экземпляры символа ® в блоке текста (правовая оговорка, естественно;)), а способ по умолчанию NSAttributedString
не очень хорош.
Если я просто позволю символу использовать и не использовать немодифицированный NSString
, он будет иметь тот же размер, что и заглавная буква, и будет размещен примерно на базовой линии. Если я добавлю атрибут superscript к NSAttributedString
следующим образом:
[attrStr setAttributes:@{(NSString *)kCTSuperscriptAttributeName : @1} range:NSMakeRange(locationOfReg, 1)];
Символ снимается с базовой линии, его размер не изменяется, но теперь интервал между линиями влияет на то, что поднятый символ в противном случае вторгнется в линию выше.
Чтобы проиллюстрировать:
Я создал это изображение в Photoshop, где желаемое положение было достигнуто за счет уменьшения размера символа и смещения базовой линии. Я знаю, как изменить размер шрифта в iOS, но изменение базовой линии кажется более сложным. Любые предложения о том, как достичь этого?
Изменить: я полагаю, что я мог бы использовать атрибут superscript как способ сдвинуть базовую линию вверх. Теперь было бы здорово выяснить способ получения текущего размера шрифта и впоследствии уменьшить его, чтобы тот же метод использовался на блоках текста разного размера.