1 つだけアイデアをあげることができます。これがあなたを助けますように。
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) この後、 から取得NSAttributedString
しますUILabel
。2) からNSAttributedString
「\n」文字を取得できます。3) 最後の "\n" を取得し、このインデックスから最後のインデックスまでの値を抽出します。