Develop
2013.04.23 18:07
[ios] UILabel top alignㅎㅎ
조회 수 22842 댓글 0
나를 귀찮게 하는 아이폰의 api 부재
레이블에 대해서 문자의 가로정렬은 쉽게 되지만, 세로정렬은 sdk 의 속성을
눈 씻고 찾아봐도 찾을 수 없어 구걸신에게 또 구걸하여 아래와 같은 코드를 얻었다.
개념은 NSString의 sizeWithFont 메소드를 사용하여 실제로 그려질 크기를 손쉽게 구한 후에
이 값을 UILabel의 frame에 대입해주는 것이다.
아래 예제는 top 정렬 뿐 아니라 bottom 정렬도 가능한 예제이다.
- (void)setUILabel:(UILabel *)myLabel withMaxFrame:(CGRect)maxFrame withText:(NSString *)theText usingVerticalAlign:(int)vertAlign { CGSize stringSize = [theText sizeWithFont:myLabel.font constrainedToSize:maxFrame.size lineBreakMode: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; }
참조: http://discussions.apple.com/thread.jspa?messageID=8322622
-
[c] 64bit 머신에서 inet_ntoa() 사용시 Segment fault 대처 방법법
-
[ios] NSString 간단한 정규식 사용법
-
[ios] iOS 6.0 이상 회전 하기 (이전 버전과 비교 변경 부분)
-
[ios] 네트워크 인디케이터(NetworkActivityIndicator) 작동
-
[js] 주소표시줄 URL 읽어오기 (변경까지)
-
[linux] CentOS 6.x Cati 설치 (yum)
-
[ios] UIWebView에서 NSURLRequest에 Cookie 실어 보내기
-
[ios] UIWebView 쿠키 유지
-
[php] substr() 한글 자를 때 깨짐 방지
-
[linux] iconv를 이용하여 euc-kr 문서를 utf-8로 대량으로 변환하기
-
[ios] UIButton multi-line iOS7
-
iOS 에서 쓸만한 오프라인 구글지도 찾기