2016-01-14 4 views
0

, поэтому я пытался выровнять текст в UITableView используя. cell.textLabel? .text = sometextUITableView пустое место не работает?

У меня есть две части в некоторой части первой части - это слова, вторая часть - это число, такое как «яблоко 45», «груша 23», «банан 34», поэтому, когда они показывают в tableview cell, я хочу, чтобы левая сторона слов совпадала между собой, а левая сторона совпала с ними. и я не могу опубликовать изображение здесь.

так по первой длине части слова я добавил пробел в строке путем добавления

let appStr = String(count: 22-cnt, repeatedValue: (" " as Character)) 
print("append string is" + appStr + "end") 
nameHere = name + appStr + number 

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

+0

"и на левой стороне номера совпадают друг с другом" Разве вы не имеете в виду правую сторону? – matt

+0

Нет .. Я имею в виду сторону LEFT – martingale

+0

Итак, вы хотите, чтобы '134' выставляли дальше _ вправо, чем' 2'? Вы хотите '2' под' 1' '134'? Это очень необычный способ отображения столбца чисел. – matt

ответ

1

Не пытайтесь выровнять числа, используя пробелы. Установите метку attributedText, а не ее text, и используйте тот факт, что NSAttributedString может иметь табуляторы для выполнения выравнивания.

+1

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

+0

Действительно оцените. Похоже, что использование NSAttributedString не работает. Я добавил разные краны для разной длины слов, они вышли так же, как с помощью строки. может быть, мне нужно что-то прояснить. Я удалил приложение из памяти и сделал это снова. – martingale

+0

Thanks Ant. Я окончательно решил это, создав пользовательский UITableviewcell с двумя ярлыками. Я думаю, что это самый элегантный способ. – martingale

Смежные вопросы