Contents

Develop
2013.04.23 18:07

[ios] UILabel top alignㅎㅎ

Views 22885 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
나를 귀찮게 하는 아이폰의 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

?

List of Articles
No. Category Subject Author Date Views
153 Develop [ios][swift] 초간단 To-do Memo file hooni 2016.06.27 1172
152 Develop [ios][swift] 초간단 카달로그 앱 (Catalog App) file hooni 2016.06.27 7232
151 Etc 영어. 반드시 외워야 할 단어 file hooni 2016.07.07 2050
150 Etc 영어. 반드시 외워야 할 영어 숙어 2 file hooni 2016.07.07 6413
149 Develop [ios] 새로 만들고 있는 DateMemo file hooni 2016.07.12 717
148 Develop [ios] Crashlytics, Fabfic 설치/설정 hooni 2016.07.21 829
147 Develop [c] 파일명 또는 특정 패턴을 적용 file hooni 2016.08.03 872
146 Develop [android] Android N requires the IDE to be running with Java 1.8 or later 오류 hooni 2016.08.30 934
145 PPT 삼성페이(Samsung Pay) 구조 file hooni 2016.09.09 1004
144 Develop [c] 셀프 넘버(Self Number) 구하기 1 hooni 2016.09.09 2371
143 Develop [c] Mac OS 에 gmp(gmp.h) 라이브러리 설치 hooni 2016.10.03 1427
142 Develop [c] RSA 암호화 구현(gmp 라이브러리 활용) file hooni 2016.10.03 1000
Board Pagination Prev 1 ... 81 82 83 84 85 86 87 88 89 90 ... 98 Next
/ 98