【代碼筆記】獲得富文本設定以後的文字高度,筆記以後的
一,。
二,工程圖。
三,代碼。
RootViewController.h
#import <UIKit/UIKit.h>@interface RootViewController : UIViewController@end
RootViewController.m
#import "RootViewController.h"@interface RootViewController ()@end@implementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view. //初始化介面 [self addView]; }#pragma -mark -functions//初始化介面-(void)addView{ //文字 UILabel *dataLabel = [[UILabel alloc] init]; dataLabel.backgroundColor = [UIColor orangeColor]; dataLabel.text = @"我是文字文字文字文字文字文字文字文字文字文字文字11111111111111111111111111111111111"; dataLabel.textColor = [UIColor redColor]; dataLabel.font = [UIFont fontWithName:@"Arial" size:14]; dataLabel.numberOfLines = 0; [self.view addSubview:dataLabel]; //富文本設定文字行間距 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init]; paragraphStyle.lineSpacing = 4; NSDictionary *attributes = @{ NSFontAttributeName:[UIFont systemFontOfSize:14], NSParagraphStyleAttributeName:paragraphStyle}; dataLabel.attributedText = [[NSAttributedString alloc]initWithString:dataLabel.text attributes:attributes]; //擷取設定文本間距以後的高度 CGRect fram = [dataLabel.attributedText boundingRectWithSize:CGSizeMake(210, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin context:nil]; dataLabel.frame=CGRectMake(50, 100, 210, fram.size.height);}- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}