在开始之前,details_Label
是UITextView
。我的命名错误,因为之前它是标签,但我更改为UITextView以获取复制文本和其他功能。
以下是我的内容
details_Label.text = [NSString stringWithFormat:@"%@", [[[detailsArray objectAtIndex:0] valueForKey:@"Details"] substringToIndex:200]];
NSMutableAttributedString *attributedString;
attributedString = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@", details_Label.text] attributes:@{ NSFontAttributeName : [self adjustDefaultFont:85], NSLigatureAttributeName: @2}];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init] ;
[paragraphStyle setAlignment:NSTextAlignmentCenter];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [details_Label.text length])];
details_Label.editable = NO;
details_Label.selectable = YES;
details_Label.tintColor = pBlackColor;
[details_Label sizeToFit];
[details_Label layoutIfNeeded];
[details_Label setTextContainerInset:UIEdgeInsetsMake(0, 0, 0, 0)];
[details_Label.textContainer setSize:details_Label.frame.size];
details_Label.frame = CGRectMake(50*iPhoneFactorX, startX, 980*iPhoneFactorX, details_Label.frame.size.height);
这就是我显示文字的方式。
问题是 下一行有一半字 如下图所示...
一开始我认为这是因为长篇文章,但是当我刚拿到前200个字符时,仍然会出现问题。
details_Label.text = [NSString stringWithFormat:@"%@", [[[detailsArray objectAtIndex:0] valueForKey:@"Details"] substringToIndex:200]];
知道出了什么问题吗?
当我打印NSAttributedString时,下面是我得到的。
NSFont =" font-family:\" Arial-BoldMT \&#34 ;; font-weight:bold; font-style:normal; font-size:34.72pt&#34 ;; NSParagraphStyle ="对齐1,LineSpacing 0,ParagraphSpacing 0,ParagraphSpacingBefore 0,HeadIndent 0,TailIndent 0,FirstLineHeadIndent 0,LineHeight 0/0,LineHeightMultiple 0,LineBreakMode 0,Tabs(\ n 28L,\ n 56L,\ n 84L,\ n 112L,\ n 140L,\ n 168L,\ n 196L,\ n 224L,\ n 252L,\ n 280L,\ n 308L,\ n \ n 336L \ n),DefaultTabInterval 0,Blocks(\ n),列表(\ n),BaseWritingDirection -1,HyphenationFactor 0,TighteningForTruncation NO,HeaderLevel 0&#34 ;; }
答案 0 :(得分:1)
最后我发现了奇怪的事情......
我来的字符串如下。
word1 word2 word3 word4 word5
但是我把它视为
word1 word2 word3 word4 word5
在我的情况下,word1 word2 word3 word4 word5
是一个单词而不是5个单词,剩余文本文本将转到下一行,这是默认的。
希望所有人都遇到问题。
修复 是我手动重新输入所有文字,一切正常。
这可能会发生,因为客户端复制了HTML文本并粘贴在文本区域中。
答案 1 :(得分:-1)
我建议而不是写硬编码为什么不使用故事板进行混合步骤reah更改对齐 1)。选择文本视图 2)。转到Inspector属性并根据您的要求选择alingment 你也可以改变颜色和其他东西而不是硬编码