UITableView с текстом, который выровнен по правому краю и имеет отступ - PullRequest
2 голосов
/ 07 октября 2011

Я хотел сделать UITableView с текстом, выровненным по правому краю и с отступом, как показано на рисунке ниже:

enter image description here

К сожалению, я не могу сделать это, написав: -

cell.textLabel.textAlignment = UITextAlignmentRight; 
cell.indentationLevel = 10; // or even -10 

Можно ли это сделать используя свойства UITableView? Если нет, то единственный способ, которым я мог бы придумать, - это использовать [myString drawInRect:withFont:];, но я бы хотел пройти через методы, основанные на выравнивании и отступе, прежде чем перейти к этому [Я уже написал код для этого :-)] так что другие обходные пути приветствуются!

Дополнительная информация : Отступ изменяется в зависимости от значений акселерометра, поэтому я не могу иметь жестко закодированные позиции кадров меток. Я загрузил пример кода на github , в котором до сих пор использовал только информацию о выравнивании и отступах, поэтому продолжая использовать, это облегчит эту задачу.

Ответы [ 2 ]

1 голос
/ 07 октября 2011

Подкласс UITableViewCell, и вы можете расположить frame текстовой метки так, как вам нравится. В операторе if, где вы dequeueReusableCellWithIdentifier:, где многократно используемая ячейка не существует, просто измените frame, а затем установите метку для использования скорректированного кадра с setFrame. Маска авторазмера должна оставаться прежней.

0 голосов
/ 07 октября 2011

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

Также установите маску автоматического изменения размера UITextLabel вправо, чтобы расстояние отступа оставалосьТо же самое, независимо от ориентации.

...