그래서 다음과 같은 함수를 만들어서 쓴다.. 누가 만들었는지 감사하다..ㅋ 덕분에 금방해결~
- (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; } |
사용할때는~
CGRect dataRect = CGRectMake(box_x, box_y, box_width, box_height); UILabel *textLabel = [[[UILabel alloc] initWithFrame:dataRect] autorelease]; textLabel.textAlignment = UITextAlignmentLeft; //textLabel.text = dataText; textLabel.font = [UIFont systemFontOfSize:12]; textLabel.textColor = [UIColor colorWithRed:168.0/255.0 green:165.0/255.0 blue:165.0/255.0 alpha:1.0]; textLabel.backgroundColor = [UIColor clearColor]; //textLabel.adjustsFontSizeToFitWidth = YES; textLabel.lineBreakMode = UILineBreakModeWordWrap; textLabel.numberOfLines=0;
[self setUILabel:textLabel withMaxFrame:dataRect withText:dataText usingVerticalAlign:0];//위치가 매우 중요합니다..^^ addsubview 해주기 바로 전에 해주세요.. 아니면 정렬이 잘 안될수도 있어요~ [self.view addSubview:textLabel]; |
'Develop > Objective-C' 카테고리의 다른 글
UIView 의 Z-INDEX를 맨앞으로 보내기 (0) | 2011.08.26 |
---|---|
Cocos2D 기초 - 출처 : 맥부기 카페 (0) | 2011.07.30 |
UIScrollViewController go to the top!! 맨위로 올리기~ (0) | 2011.07.22 |
Xcode에서 갑자기 Run 이 안된다..?(비활성화되어 있따..) (0) | 2011.07.20 |
Twitter API 사용해서 JSON 으로 Search 하기 (0) | 2011.07.14 |
Objective-c 에서 java의 split 메소드 (0) | 2011.07.05 |
Command /usr/bin/codesign failed with exit code 1 에러가 두둥!! (0) | 2011.07.03 |
OpenCoverFlow 구현 따라하기~ (0) | 2011.06.09 |