Develop
2013.04.23 18:07
[ios] UILabel top alignㅎㅎ
조회 수 22838 댓글 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
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
729 | Develop | [js] 양원님이 공유해 주신 유료(5$란다ㅋ) 자료 ㅋㅋ | hooni | 2013.04.23 | 7948 |
728 | Develop | [js] 실행되는 디렉토리 확인하는 스크립트.. | hooni | 2013.04.23 | 6764 |
727 | Develop | [js] 스타크래프트(starcraft).. | hooni | 2013.04.23 | 6640 |
726 | Develop | [js] 스크롤을 포함한 마우스 위치 찾는 코드 | hooni | 2003.04.23 | 8505 |
725 | Develop | [js] 스크롤 이벤트 막기 | hooni | 2015.04.14 | 1007 |
724 | Develop | [js] 숫자만 입력하게 하는 자바스크립트 | hooni | 2013.04.23 | 6795 |
723 | Develop | [js] 순환참조에 의한 메모리 누수 관련 | hooni | 2013.12.17 | 10840 |
722 | Develop | [js] 수학 공식을 제공하는 Math 객체 | hooni | 2013.04.23 | 15410 |
721 | Develop | [js] 수명체크 프로그램 ㅋㅋ | hooni | 2013.04.23 | 6838 |
720 | Develop | [js] 셀렉트박스(select)의 옵션(option) 동적으로 추가/제거 | hooni | 2013.04.23 | 8060 |
719 | Develop | [js] 서서히 나타나는 화면.. ㅋㅋ | hooni | 2013.04.23 | 6188 |
718 | Develop | [js] 새로고침(refresh)방법과 다른 페이지 바꾸기.. | hooni | 2003.04.23 | 6521 |