我有一個UITextView
最多有四行。我想把UILabels
放在每一行的後面,只包含相應行的文本。如何計算UITextview的多行寬度?
那麼,你們中的任何一位優秀的編碼人員對我如何計算每條線的寬度有任何想法?
我有一個UITextView
最多有四行。我想把UILabels
放在每一行的後面,只包含相應行的文本。如何計算UITextview的多行寬度?
那麼,你們中的任何一位優秀的編碼人員對我如何計算每條線的寬度有任何想法?
試試這個
UIFont *font=[UIFont systemFontOfSize:17.0f];
UILabel *yourLabel=[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 80)];
yourLabel.numberOfLines=4;
[email protected]"Hello\nHulo\nMe\nyou";
CGSize labelSize = [yourLabel.text sizeWithFont:font
constrainedToSize:yourLabel.frame.size
lineBreakMode:NSLineBreakByTruncatingTail];
CGFloat singleLineHeight = labelSize.height/yourLabel.numberOfLines;
[self.view addSubview:yourLabel];
單行高度將是約21
NSLog(@"single line height is %f",singleLineHeight);
對於文本查看遵循這個代碼
UITextView *yourView=[[UITextView alloc] initWithFrame:CGRectMake(0, 0, 100, 20)];
yourView.font=[UIFont systemFontOfSize:14.0f];
yourView.text = @"Hello \nmy\n Friend\n Hru? ";
CGSize textViewSize = [yourView.text sizeWithFont:yourView.font
constrainedToSize:CGSizeMake(yourView.frame.size.width, FLT_MAX)
lineBreakMode:NSLineBreakByTruncatingTail];
[yourView setFrame:CGRectMake(0, 0, textViewSize.width, textViewSize.height)];
[self.view addSubview:yourView];
NSLog(@"single line height is %f",yourView.frame.size.height);
這可以很好地獲得高度。我能做些額外的事情來獲得每一行的寬度? – liquidpenguins
你意味着你想獲得單線的高度和寬度 – Warewolf
等待幾分鐘 – Warewolf
谷歌'的NSString UIKit的extensions' ,然後 + ,海rch代表'size'。 –
2013-06-03 05:16:04