2016-10-18 3 views
0

У меня есть UITextView, где я пишу строки за строкой из csv.Есть ли размер шрифта для отношения размера экрана? iPhone

типичные линии

"|" представляет край экрана

| name of place  timeAtPlace  | 
| name of place  timeAtPlace  | 
| longer name of place  timeAtPlace | 

Текст совмещен влево, но я также хочу, чтобы timeAtPlace выровнять вправо. Для достижения этой цели

| name of place    timeAtPlace | 
| name of place    timeAtPlace | 
| longer name of place  timeAtPlace | 

Мое мышление раздуть строка для длины линии. Для этого мне нужно знать, сколько символов может поместиться в строке для текущего устройства.

Есть ли способ рассчитать это, есть ли какое-либо отношение между размером точек шрифта и размерами точек устройства? или есть ли способ разделить экран (* Я говорю экран, но в данном случае означает UITextView) размер по размеру шрифта, чтобы узнать, сколько символов может поместиться на линии?

+0

вы не можете использовать 'UILabel'? – Lion

+0

Я могу. Расскажите, пожалуйста, как это мне поможет? – RyanTCB

+0

Вы не хотите, чтобы усекающиеся точки наподобие '(example ...)' в конце концов? – Lion

ответ

0

Если вы хотите использовать UILabel как вы упомянули в комментарии, и вы хотите, чтобы показать текст без усечения на правой стороне выравнивания, то вы можете сделать что-то подобное,

UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(20, 500, 100, 30)]; // your desired frame 

label.backgroundColor = [UIColor yellowColor]; 
label.textAlignment = NSTextAlignmentRight; 
[label setLineBreakMode:NSLineBreakByCharWrapping]; 

label.text = @"This is long string to test"; 

[self.view addSubview:label]; 
+0

Конечно, я могу поместить текст правой руки, который всегда имеет такую ​​же длину в UILabel, затем вычислить ширину UILabels и создать вторую UILabel, чтобы она соответствовала оставшемуся пространству ширины экранов. Поместите левый текст в UILabel и используйте adjustFontToFit. Однако я не знаю, сколько строк возвращается из файла CSV, и если 100 000+ не хотят добавлять экземпляры UILabel много раз. UITextField (я полагаю) займет меньше памяти, чем много UILabels. Если не UITextField, тогда я бы посмотрел на пользовательскую ячейку и UITableview. – RyanTCB

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

  • Нет связанных вопросов^_^