2014-12-18 4 views
0

UITextView가 높이를 동적으로 변경할 때 (예 : 사용자가 UITextView에서 둘 이상의 선을 입력하는 경우) iOS 개발
을 처음 사용합니다. UILabel 위치를 조정하는 방법 UITextView의 uitextview) 대한 높이UITextview의 높이 변화에 따라 UILabel을 조정합니다.

enter image description here

 after text entered by user 

enter image description here

+0

사용자가 두 줄 이상을 입력하면 UItextView 프레임이 변경되지 않고 전체 텍스트를 스크롤하여 볼 수 있습니다. 그럼 정확히 원하는거야? 스크린 샷은 이해하기에 더 좋습니다 – milanpanchal

+0

확장 라벨을 원하십니까? –

+0

네가 맞습니다. 하지만 콘텐츠에 따라 UITextview의 높이를 높이고 싶습니다. –

답변

1

당신이 자동 레이아웃을 사용하지 않는 경우, 당신이 그것을 할 수 같은이

CGRect rect = self.lbl.frame; 
rect.origin.y = self.txtVw.frame.origin.y + self.txtVw.frame.size.height; 
self.lbl.frame = rect; 
0

또는 당신은 이런 식으로 자동 레이아웃, 서브 클래스 UITextView 및 재정의 몇 가지 방법을 사용하는 경우 :

- (void) layoutSubviews 
{ 
    [super layoutSubviews]; 

    if (!CGSizeEqualToSize(self.bounds.size, [self intrinsicContentSize])) { 
     [self invalidateIntrinsicContentSize]; 
    } 
} 

- (CGSize)intrinsicContentSize 
{ 
    CGFloat boundWidth = [[UIApplication sharedApplication] keyWindow].frame.size.width; 
    boundWidth = MIN(boundWidth, self.bounds.size.width); 
    CGSize intrinsicContentSize; 
    intrinsicContentSize = [self sizeThatFits:CGSizeMake(boundWidth, FLT_MAX)]; 
    return intrinsicContentSize; 
} 

이 인터페이스 빌더에서 텍스트보기에 대한 클래스를 지정하는 것을 잊지 마세요 및 물론 다른 모든 제약 조건을 적절하게 설정해야합니다. 필자는 언젠가 StackOverflow 어딘가에서이 솔루션을 발견했습니다. 원래의 대답에 대한 링크를 제공 할 수 없습니다.

관련 문제