뚱자 이야기 33-----iOS 레이블 글꼴에 줄 간격 추가

2146 단어
인용자: 어떤 때는 UIlable로 한 단락의 말을 불러올 때, 그 글자가 많을 수 있기 때문에 시스템의 레이아웃 이후의 글자 간격이 좁을 수 있지만, UI 디자인은 글자의 간격을 좀 넓혀 달라고 요구할 것이다. 이럴 때 프로그램원이 코드를 두드려 글자의 간격을 바꾸어야 한다.다음은 이런 효과를 실현하는 코드를 제시한다.그리고 제가 사용할 때 줄 간격을 늘린 다음에
- (CGRect) boundingRectWithSize: (CGSize)size options: (NSStringDrawingOptions) options context: (NSStringDrawingContext*) context 방법, 계산된 높이가 정확하지 않습니다.그래서 앞으로도 해결 방안을 내놓을 겁니다.이전에 썼던 풍부한 텍스트 컨트롤 NSTextattachment, 링크http://blog.csdn.net/haogaoming123/article/details/46410359, 여러분은 도문 혼합을 어떻게 실현하는지 지식을 보실 수 있습니다.
1단계: UILAble 초기화
UILabel *lable = [[UILabel alloc]initWithFrame:CGRectMake(0, 64, self.view.frame.size.width, 21)];
lable.numberOfLines = 0;

2단계: NSMutable ParagraphStyle 초기화
NSString *str = @"        ,    ,       。。  。。。     UILabel。。                   。   ";
NSMutableAttributedString *attrit = [[NSMutableAttributedString alloc]initWithString:str];
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc]init];
style.lineSpacing = 5;  //       
[attrit addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, [str length])];
lable.attributedText = attrit;

3단계: 즉 높이를 계산하는 단계
[lable sizeToFit]; //       ,             UILable ,          ,            ,            ,         QQ           。

4단계: UILAble 추가 및 lable 높이 내보내기
[self.view addSubview:lable];
NSLog(@"%@",NSStringFromCGRect(lable.frame));

콘솔에서 인쇄된 파일은 다음과 같습니다.
2015-07-22 18:26:41.246      [5410:209790] {{0, 64}, {34, 25.5}}

보충: NSMutableParagraphStyle에는 다음과 같은 여러 가지 속성이 있습니다.
style.lineSpacing = 10;//    
style.headIndent = 10;//    ,    padding
style.tailIndent = -10;//    padding
style.lineHeightMultiple = 1.5;//       
style.alignment = NSTextAlignmentLeft;//    
style.firstLineHeadIndent = 20;//     
style.paragraphSpacing = 10;//       
style.paragraphSpacingBefore = 20;//       

여러분은 모르는 것이 있거나 지식을 교류하고 싶은 것이 있으면 맨 위에 있는 QQ군을 추가하면 됩니다. 제가 거기에서 기다릴게요.

좋은 웹페이지 즐겨찾기