2017-02-21 33 views
0

Я использую NSString для печати жала в следующем форматеКак выравнивание по левому краю NSString с аравийской строки

Название продукта. Цена

Ожидаемый выход:

I want this out put

Токовый выход:

I am getting this out put

Мой код

tmp_STR = [NSString stringWithFormat:@"%19s (%@)%@\r\n",[prod_price cStringUsingEncoding:NSASCIIStringEncoding],prod_QTY,prod_NAME]; 

Имя продукта будет либо по-арабски или на английском языке. Но я хочу, чтобы напечатать строку, как на скриншоте прикрепленного

Заранее спасибо

+0

Я рекомендую использовать две строки. Один для названия и один для цены. Затем используйте свойство «NSTextAlignment» UILabel или все, что вы используете для его отображения. –

+0

Вы можете использовать NSAttributedString, но поскольку это касается «рендеринга», вам может понадобиться больше узнать о части пользовательского интерфейса, например, UILabel. Но 2 UILabel может быть интересным. – Larme

+0

Вы можете добавить ручное пространство в строку, чтобы добиться этого, когда вы печатаете, просто выполните это [[NSString stringWithFormat: @ "% 19s (% @)% @ \ r \ n", [prod_price cStringUsingEncoding: NSASCIIStringEncoding], prod_QTY, prod_NAME]; ' – iphonic

ответ

0

Использование двух различных меток, один для левого выровнен текста, а другой для правого выровнен текста.

Кроме того, установите приоритет сжатия содержимого для одной из двух меток в соответствии с вашим требованием для видимости данных, когда на первой (левой) этикетке есть длинные тексты.

+0

Я не могу использовать ярлык Я хочу напечатать строку в POS-принтере –