当我在我的应用程序中使用.txt文件时(即使我尽可能多地修复它)最后的行会被截断。我希望文本到达行的末尾(一直到屏幕的右侧,就像第一行一样)。我应该使用其他类型的文件吗?如果是这样,哪个?如果没有,我如何让这些词语到达行尾?
由于
P.S。 cleantxt没有解决问题
我希望它看起来像这样
答案 0 :(得分:2)
如果我正确地解释了你的问题(通过你的例子),这不是截断的问题,而是一个理由问题。你想要“完全对齐”,即从左到右插入文本,使文本显示为矩形文本块。
如果是,您使用的是UITextView:
适用于iOS 6及更早版本 UITextView * textView = @“”; //用表示.txt文件中文本的属性替换 textView.textAlignment = NSTextAlignmentJustified;
适用于iOS 7+(以上不推荐使用) 遗憾的是,您需要使用CoreText或UIWebView。 请参阅此帖子Justified Alignment in UITextView
答案 1 :(得分: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];