2014-04-22 3 views
3

xib를 만들기 위해 인터페이스 작성기를 사용하고 있습니다. 이 xib에는 uitextview가 포함 된 uiview가 있습니다. uitextview의 텍스트가 변경되면 둘 다 크기가 변경됩니다. 제약이 많은 같이 :UItextview가 예상대로 제약 조건을 사용하여 확장되지 않음

enter image description here

분홍색 UITextView 파란색 수퍼에 푸시합니다. 파란색 UI 뷰의 최소 너비는 189 픽셀이고 후행 제약 조건은 최소 8 픽셀입니다.

대부분이 작동합니다. 정말 긴 텍스트 섹션은 의도 한대로 허용되는 한도까지 두보기의 크기를 조정하고 하나 또는 두 단어 만있는 경우보기가 작게 유지됩니다. 그러나 문제는 짧은 문장이있을 때입니다.

이 경우보기는 약 189px로만 확장되며 확장 할 공간이 있더라도 텍스트는 두 번째 줄로 이동합니다. enter image description here

하고 여기에 완전히 확장 박스 :

enter image description here

내가 후행 제약 조건을 만들기 위해 노력했다 여기

는 당신이 단지에서 몇 단어를 넣어 때 모습입니다 다른 사람들보다 우선 순위가 낮습니다. 그리고 나는 내용을 포옹하고 압축 저항 속성을 여러 방법으로 수정하지 않고 시도했습니다.

줄 수가 가장 적은 텍스트 콘텐츠에 맞도록보기를 확장하려면 어떻게해야합니까? 높이에만 제한이 없으며 너비에만 제한이 있습니다.

도움이 될 것입니다.

답변

-1

이 게시물에 제시된 해결책을 시도해 보셨습니까?

Dynamic expand UITextView on ios 7

난 당신이

[YourUITextView sizeToFit]; 
+0

나는 두렵다. 전혀 lp. 다른 분야에 배치했는데, 링크 된 게시물의 조언을 따르십시오. 아무도 작동하지 않는 것 같습니다. 아마도 이것들을 설정하기 위해 인터페이스 빌더를 사용하고 있다는 점에 유의해야합니다. – vvMINOvv

0

CGSize sz = [_textView.text sizeWithFont:_textView.font] 

경우에 작동하지 않았다,이 방법을 사용하여 텍스트 뷰의 새 크기를 가져옵니다 sizeToFit하기 위해 UITextView를 설정해야합니다 생각 너비가 너비보다 넓어지고, 너비가 너비보다 넓어지고, 너비가 넓어지고, 너비가 넓어지기 때문에, 너비가 적당하다. 너비가 적당하다. 너비가 적당하다.

- (CGFloat)textViewHeightForAttributedText:(NSAttributedString *)text andWidth:(CGFloat)width 
{ 
    UITextView *textView = [[UITextView alloc] init]; 

    [textView performSelectorOnMainThread:@selector(setAttributedText:) 
            withObject:text 
           waitUntilDone:YES]; 

    CGSize size = [textView sizeThatFits:CGSizeMake(width, FLT_MAX)]; 
    return size.height; 
} 
0

키는 preferredMaxLayoutWidth를 큰 것으로 설정하는 것입니다 (320px는 좋은 소리입니다. 귀하의 권리 제한은 어쨌든 그것을 제한 할 것입니다).

당신은 당신의 코드에서

[self.label setPreferredMaxLayoutWidth:320]; 

또는 인터페이스 빌더에서 다음과 같이 있음을 수행 할 수 있습니다

Setting properties from Interface Builder

예상대로 확장 라벨을 볼 수 있습니다이 방법 :

Example

+1

uitextview는 uilabel이 아니며 preferredMaxLayoutWidth를 가지고 있지 않습니다. – GreatWiz

관련 문제