UITextView가 높이를 동적으로 변경할 때 (예 : 사용자가 UITextView에서 둘 이상의 선을 입력하는 경우) iOS 개발
을 처음 사용합니다. UILabel 위치를 조정하는 방법 UITextView의 uitextview) 대한 높이UITextview의 높이 변화에 따라 UILabel을 조정합니다.
after text entered by user
UITextView가 높이를 동적으로 변경할 때 (예 : 사용자가 UITextView에서 둘 이상의 선을 입력하는 경우) iOS 개발
을 처음 사용합니다. UILabel 위치를 조정하는 방법 UITextView의 uitextview) 대한 높이UITextview의 높이 변화에 따라 UILabel을 조정합니다.
after text entered by user
당신이 자동 레이아웃을 사용하지 않는 경우, 당신이 그것을 할 수 같은이
CGRect rect = self.lbl.frame;
rect.origin.y = self.txtVw.frame.origin.y + self.txtVw.frame.size.height;
self.lbl.frame = rect;
또는 당신은 이런 식으로 자동 레이아웃, 서브 클래스 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 어딘가에서이 솔루션을 발견했습니다. 원래의 대답에 대한 링크를 제공 할 수 없습니다.
사용자가 두 줄 이상을 입력하면 UItextView 프레임이 변경되지 않고 전체 텍스트를 스크롤하여 볼 수 있습니다. 그럼 정확히 원하는거야? 스크린 샷은 이해하기에 더 좋습니다 – milanpanchal
확장 라벨을 원하십니까? –
네가 맞습니다. 하지만 콘텐츠에 따라 UITextview의 높이를 높이고 싶습니다. –