2016-10-18 56 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(我認爲)會佔用更少的內存,許多UILabel。如果不是UITextField,那麼我會查看自定義單元格和UITableview。 – RyanTCB