UILabels и Unicode

Я знаю, что задавались вопросы, подобные этому, но я не нашел удовлетворительного ответа.

Я пытаюсь создать UILabel для отображения уравнения. Однако мне не нравится иметь несколько меток для экспонент и подстрочных индексов, потому что я собираюсь производить вычисления, и позиции показателей и подстрочных индексов должны будут измениться, чтобы сохранить форматирование. Вместо этого я хотел бы ввести в свой UILabel формы надстрочного и подстрочного индексов Unicode (0x207F и 0x2099 соответственно) и заставить их соответственно сдвигаться при изменении ответов. Я долго искал и не смог найти ответа. Есть ли способ сделать это?


person Mason    schedule 30.04.2011    source источник


Ответы (2)


вы можете назначить юникод в uilabel следующим образом:

[yourLabel settext:@"\u207F and \u2099"];
person Saurabh    schedule 30.04.2011

Вы можете использовать спецификатор формата %C для юникода.

myLabel.text = [NSString stringWithFormat:@"String with unicode %C", 0x207F];
person taskinoor    schedule 30.04.2011
comment
Когда я запускаю это, программа вылетает. Вот мой код: solutionString = [NSString stringWithFormat: @ a% C =% @ *% @% C -% @ * n *% @% C, 0x2099, [solutionSet objectAtIndex: 1], [solutionSet objectAtIndex: 0], 0x207f, [набор решений objectAtIndex: 2], [набор решений objectAtIndex: 0], 0x207f]; - person Mason; 01.05.2011
comment
Что такое сообщение о сбое? Что содержится в наборах решений? - person taskinoor; 01.05.2011
comment
В консоли не появляется сообщение об ошибке. Приложение просто вылетает. solutionsSet - это массив NSNumbers. - person Mason; 01.05.2011
comment
Если объекты в solutionSet являются NSNumbers, вы не можете использовать% @ в качестве спецификатора формата. % @ для NSString. Вам необходимо преобразовать ваш NSNumber в NSString. Попробуйте [[solutionsSet objectAtIndex: 1] stringValue]. - person taskinoor; 01.05.2011
comment
Пробовал, все равно вылетает, к сожалению. Есть другие мысли? - person Mason; 01.05.2011