Опакованият iOS CATextLayer не работи според очакванията

Имам CATextLayer с многоредов текст. Обвитата опция е зададена на ДА. Но не обвива текста на последния ред. Ако добавя друг ред с \n и интервал, се получава обвиване (но това унищожава оформлението).

Това се случва само в iOS >= 8.3

Някакви идеи какво може да причини това?


person Swissdude    schedule 21.09.2015    source източник


Отговори (2)


Нещо в CATextLayer се промени в iOS 8.3, което означава, че сега трябва да добавите 1px повече към височината, отколкото сте правили преди. Ако сте използвали CTFramesetterSuggestFrameSizeWithConstraints, това сега възлиза на 2px допълнителна височина.

Това е странна повреда, но не може да се направи много по въпроса.

person Bo A    schedule 10.12.2015

Току-що направих LabelKit проект, който прави CoreText нарисувана анимация на текста. Той поддържа анимация и на многоредов текст и запазва предимствата на ограниченията на оформлението при оразмеряване на съдържанието, докато анимира.

CATextLayer прави текста на CoreGraphics и буквите там по-широки и не се разполагат правилно в многоредов слой.

person Eugene Dudnyk    schedule 21.07.2019