有没有办法限制 NSAttributedString 中段落中的行数?
我在 NSAttributedString 中追加两个字符串,我希望它们最多为3行,第一个字符串为1-2行,如果需要则截断。第二个字符串应该始终在最后一行上
像:
this is my first string
if its too long i't will get trun...
But this is my second string
我所做的是:
// First string
NSAttributedString *first = [[NSAttributedString alloc] initWithString:@"this is my first string if its too long i't will get trunticated"
attributes:@{NSForegroundColorAttributeName:[UIColor redColor],
NSFontAttributeName:[UIFont fontWithName:@"HelveticaNeue-Light" size:17.0]];
[str appendAttributedString:first];
// New line
[str appendAttributedString:[[NSAttributedString alloc] initWithString:@"\n"]];
// Add photo count
NSAttributedString *second = [[NSAttributedString alloc] initWithString:@"But this is my second string"
attributes:@{NSForegroundColorAttributeName:[UIColor redColor],
NSFontAttributeName:[UIFont fontWithName:@"HelveticaNeue-Light" size:14.0]}];
[str appendAttributedString:second];
但结果是:
this is my first string
if its too long i't will get
trunticated
第一个字符串占用前3行并将第二个字符串从标签中推出 如何将第一个字符串段落限制为2行?
答案 0 :(得分:1)
您可以重复使用大写和较大宽度的图形组件(UITextView或UITextField)可以处理的字母数量来查看。比,使用:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{}
检查每个输入,金额是否足够,或者是否仍可用于更多字母。创建一个字符限制,并在每次调用此方法时减少它。
答案 1 :(得分:0)
使用一个约束限制行数!
只需在UILabel上添加NSLayoutConstraint,其值如下:
参见Storyboard集成: