下面是我的UILable中显示的文本...
“这份榜单实际上并不是基于直接的人气统计;简单地统计阅读次数最多的经文,就会得到一个排名前100的榜单,其中几乎全部是约翰福音3:16和哥林多前书13章、创世纪1章、罗马书8章和诗篇23章的经文。我们的榜单考虑的是BibleGateway.com用户一次只看了三节或更少的经文。”
如何获得text..ie.的最后一行:“一次只有三行或更少的诗句。”从我的uilable。
任何解决方案都是非常受欢迎的。
发布于 2013-01-18 15:17:49
我可以给出一个想法。愿这对你有所帮助。
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(50,50,200,350)];
myLabel.numberOfLines = 0;
myLabel.lineBreakMode = UILineBreakModeWordWrap;
myLabel.text = @"This is some text in a UILabel which is long enough to wrap around the lines in said UILabel. This is a test, this is only a test.";
[self.view addSubview:myLabel];
CGSize labelSize = [myLabel.text sizeWithFont:myLabel.font
constrainedToSize:myLabel.frame.size
lineBreakMode:UILineBreakModeWordWrap];
CGFloat labelHeight = labelSize.height;
NSLog(@"labelHeight = %f", labelHeight);
[myLabel release];在上面你可以得到标签的高度,然后你可以通过将高度除以一些适当的数字来得到行数,这取决于字体大小。
1)之后,从你的UILabel中获取NSAttributedString。2)从NSAttributedString中可以获取"\n“个字符。3)获取最后一个"\n“,并从这个索引中提取值到最后一个索引。
https://stackoverflow.com/questions/14393709
复制相似问题