2014-09-10 32 views
1

當我在我的應用程序中使用.txt文件時(即使我儘可能多地修復它)最後的行會被截斷。我希望文本到達行的末尾(一直到屏幕的右側,就像第一行一樣)。我應該使用其他類型的文件嗎?如果是這樣,哪個?如果不是的話,我怎麼才能讓這些單詞達到最後?在iPhone上截斷行的末端(編輯:行尾對齊)

謝謝

p.s. cleantxt犯規解決問題 enter image description here

我希望它看起來像這樣

enter image description here

+0

所以你想要的行「合理」? – 2014-09-10 19:39:07

+0

@熱舔我編輯了問題 – MendyK 2014-09-10 19:43:34

回答

2

如果我正確解釋你的問題(通過你的例子),這不是一個截斷的問題,而是一個正當性的問題。你需要「充分的理由」,即從左到右的插入文本拉伸,所以文本顯示爲一個矩形的文本塊。

如果是的話,你正在使用,然後一個UITextView:

對於iOS 6和更早 的UITextView *的TextView = @ 「」; //替換爲代表您的.txt文件中的文本的屬性 textView.textAlignment = NSTextAlignmentJustified;

對於iOS 7+(以上不推薦使用) 您不幸的是需要使用CoreText或UIWebView。 看到這篇文章Justified Alignment in UITextView

+0

謝謝!你是對的,我想不出這個詞怎麼辦,如果我想讓它與ios6和7一起工作? – MendyK 2014-09-10 19:55:17

+0

我說去與IOS7指示的方法。應該爲 – Wizkid 2014-09-10 19:59:19

+0

工作,我只是嘗試了你給的ios6方法,它在我的實際iPhone 4,ios 7.1.2上工作! – MendyK 2014-09-10 20:02:36

0

你得到使用此代碼相同的結果?

NSString *fileName = @"impressum.txt"; 
NSURL *url = [[NSBundle mainBundle] URLForResource:[fileName stringByDeletingPathExtension] withExtension:[fileName pathExtension]]; 

NSError *error; 
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithFileURL:url 
                       options:@{NSDocumentTypeDocumentAttribute:NSPlainTextDocumentType} 
                    documentAttributes:nil 
                       error:&error]; 

CGRect paragraphRect = [attributedString boundingRectWithSize:CGSizeMake(_textLabel.frame.size.width), CGFLOAT_MAX) 
                  options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) 
                  context:nil]; 

CGRect frame = _textLabel.frame; 
frame.size.height = paragraphRect.size.height; 
_textLabel.frame = frame; 

[_textLabel setAttributedText:attributedString]; 
+0

yup,相同的結果:(感謝bro – MendyK 2014-09-10 19:50:40