본문 바로가기

IT/iOS

UILabel사이즈가 고정일때 UILabel.text font사이즈 동적으로 변경하기

라벨 사이즈보다 라벨에 들어가는 사이즈가 더 길때 ios는 기본적으로 뒷부분에 ... 으로 표시한다.

그럴때


[label setFontSize:20]; 
[label setMinimumFontSize:10];
[label setAdjustsFontSizeToFitWidth:YES];


이렇게 라벨속성을 변경 하면 알아서 텍스트길이가 라벨보다 짧을때는 기존처럼 

반대로 텍스트길이라 라벨사이즈보다 길면 최소폰트로 표시 할수 있을때까지 폰트사이즈를 줄여서 표시한다.

 

참고로 여기서 라벨사이즈보다 텍스트길이가 길다고 무조건 최소 폰트사이즈로 표시하는게 아니다.

 

예를 들어 

기본 폰트사이즈가 20이고 

최소 폰트사이즈가 10이라 가정 하여

 

20사이즈가 너무 길어 표시를 못하면 무조건 폰트사이즈를 10으로 줄여서 표시 하는게 아니라

19사이로 했을때 딱맞는지 확인하고 안되면 18사이즈 또 안되면 17사이즈...

사이즈가 지정한 최소값까지 내리다가 중간에 맞는 사이즈가 있으면 자동으로 그 사이즈로 잡아주는 식이다.

참으로편리하다.