레몬 생으로 씹어먹으면 맛있어요. :: [iOS] UILabel 문자열 크기에 맞추어 frame 변경하기

UILabel을 사용할 때, 안에 들어갈 글자의 길이가 길어지면 "원래 말하고 싶..." 처럼 ...이 들어가버립니다.


뷰에 붙였다고 해서 크기를 못 바꾸는건 아니지만 (Frame은 언제든지 바꿀 수 있음)


일단 그 크기를 알아야 합니다.


문자열의 크기는


NSString(UIStringDrawing)에 있는

- (CGSize)sizeWithFont:(UIFont *)font;

로 구할 수 있습니다.


실제로 쓴다면

NSString *str = @"쓰고 싶은 말";

CGSize sz= [str sizeWithFont:[UIFont systemFontOfSize:14.0f]];

[m_label setText:str];

[m_label setFrame:CGRectMake(200, 200, sz.width, sz.height)];


이런 식이 되겠지요. (메모리 해제는 알아서, 저는 ARC 써서 잘 못합니당...)


단, 싱글 라인만 되요.


멀티라인을 이용할 경우는 [http://blog.sallarp.com/iphone-uilabel-multiline-dynamic-height/] 여길 이용.


'아이폰' 카테고리의 다른 글

iOS CPU 아키텍처 목록 (armv6,armv7,armv7s)  (0) 2013.08.05
Xcode에서 Unit Test 사용하기  (0) 2013.05.02
AppDelegate 접근방법  (0) 2013.02.20
iOS MVC패턴  (0) 2013.02.20
init 메서드 구현에 관하여.  (0) 2013.02.20
Posted by 레몬사과
,