我想在我的标签上设置换行符。
我试过了:
self.lblYouHaveAMatch.lineBreakMode = NSLineBreakByWordWrapping;
self.lblYouHaveAMatch.numberOfLines = 0;
我有一个这样的字符串:
"You have a match with \nfirst_name!"
我也尝试"\r"
代替"\n"
,但它不起作用。
界面构建器上的我的标签。
但它只在我的设备上显示"You have a match with"
。
答案 0 :(得分:1)
您在最后一张图片上使用了自动屏蔽功能 你需要选择autoresicing:右边框 也是(因为现在你只有顶部和左边界 。你需要选择一条水平线 所以在那之后你会设置水平边框但是你 不会设置高度,因此您将自动设置高度 因为使用指定行数0
答案 1 :(得分:1)
在这里,您只需要根据给定的文字和宽度计算标签的高度。
NSString *sampleMultiLineText=@"1 Showing First Line\n2 Showing Second line\n3 Showing Third line";
NSDictionary *attributes = @{NSFontAttributeName: self.lbMultiLine.font};
// ios7.0
CGRect adjustedSize = [sampleMultiLineText boundingRectWithSize:CGSizeMake(self.lbMultiLine.frame.size.width, CGFLOAT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:attributes
context:nil];
// 0 = Multiple lines
self.lbMultiLine.numberOfLines = 0;
self.lbMultiLine.lineBreakMode = NSLineBreakByWordWrapping;
//setting text
self.lbMultiLine.text = sampleMultiLineText;
//now Update Frame as hight of label may be higher than current so all the text can be show
[self.lbMultiLine setFrame:CGRectMake(self.lbMultiLine.frame.origin.x, self.lbMultiLine.frame.origin.y,adjustedSize.size.width,adjustedSize.size.height)];