IOS 의 UILabel의 가로정렬은 아주 간단하게 가능하지만~
세로정렬은 기본적으로 제공하지 않는다.. (가로정렬처럼 align 때려박듯이 한방에 되었으면 좋겠다만)
덕분에 세로정렬을 위해서는 골을 좀 싸메야 한다.!
우선 UILabel의 SIze를 알아내서 Frame을 셋팅하는 방법으로 하면 된단다.
- (void)setUILabel:(UILabel *)myLabel withMaxFrame:(CGRect)maxFrame withText:(NSString *)theText usingVerticalAlign:(int)vertAlign { CGSize stringSize = [theText sizeWithFont:myLabel.font constrainedToSize:maxFrame.sizelineBreakMode:myLabel.lineBreakMode];
switch (vertAlign) { case 0: // vertical align = top myLabel.frame = CGRectMake(myLabel.frame.origin.x, myLabel.frame.origin.y, myLabel.frame.size.width, stringSize.height); break;
case 1: // vertical align = middle // don't do anything, lines will be placed in vertical middle by default break;
case 2: // vertical align = bottom myLabel.frame = CGRectMake(myLabel.frame.origin.x, (myLabel.frame.origin.y + myLabel.frame.size.height) - stringSize.height, myLabel.frame.size.width, stringSize.height ); break; }
myLabel.text = theText; } |
끝.
'Computer Programming > Object C' 카테고리의 다른 글
[ObjectC]ios View에 slide 효과 주기 (0) | 2014.03.06 |
---|---|
[ObjectC]NSString 지정문자열 치환하기 (0) | 2014.02.11 |
[ObjectC]NSString 긴 문자열에 다른 문자열이 내부에 존재여부 확인방법 (0) | 2014.02.06 |
[ObjectC/Iphone]"Xcode cannot run using the selected device" Error 해결방법 (0) | 2014.01.24 |
[ObjectC]ios LinkedIn Login 구현하기 /LinkedIn API (0) | 2014.01.22 |