2015-02-02 1 views
0

나는 이것이 매우 단순한 질문이라고 생각합니다. 나는 높고 낮은 답변을 찾았으며 아무 것도 떠오르지 않았습니다. 내 UITableViewController에서 내 사용자 지정 UITableViewCell (스토리 보드에서 만든)의 UILabel 텍스트를 설정합니다. 나는 레이블의 너비가 텍스트의 너비가되기를 원한다. (이것은 계산하기가 어렵지 않다.) 약 20의 상수가 더해진다. 나는 이것을 설정하는 방법을 찾을 수 없다. 프로그래밍 방식으로 UILabel을 만들어야합니까? 자동 응답 기능을 사용하면이 문제를 해결할 수 있습니까?UILabel 너비와 Autolayout의 어려움

+0

두 가지 방법으로 가능합니다 : 라벨 안의 텍스트 크기를 계산하고 프레임을 올바른 크기로 설정하거나 autolayout을 사용할 수 있습니다. 실제로 Xcode 인터페이스 빌더를 사용하여 자동 레이아웃 제약 조건을 설정하는 것은 매우 쉽습니다. – beeef

+0

당신의 대답은이 링크에 있다고 생각합니다. @http : //stackoverflow.com/questions/8796862/uilabel-auto-size-label-to-fit-text – FamousMaxy

답변

1

인터페이스 작성기에서 설명한대로 불가능합니다. 레이블의 고유 한 콘텐츠 크기에 대해 다른 값을 지정하면됩니다. 미니 UILabel 하위 클래스를 만듭니다.

@interface Plus20UILabel : UILabel 
@end 

@implementation Plus20UILabel 

-(CGSize)intrinsicContentSize{ 
    CGSize contentSize = [super intrinsicContentSize]; 
    return CGSizeMake(contentSize.width + 20, contentSize.height); 
} 

@end 

그런 다음 레이블을 IB의 Plus20UILabel로 지정하십시오. 그러면 AutoLayout 엔진에 새 값이 입력되고 이에 따라 레이블과 모든 값이 조정됩니다.

+1

환상적으로 간단한 답변입니다! 고맙습니다!! – SleepsOnNewspapers