UILabel의 텍스트가 한 줄 후에 잘리는 동적 크기의 UITableViewCell

Stonep123

동적 크기의 tableView 셀을 구현하려고합니다. 셀에는 다양한 양의 텍스트를 보유하는 UILabel이 있습니다. 셀을 사용자 정의하기 전에는 cell.textLabel.text를 사용하여 텍스트를 설정하고 셀 크기를 조정하고 모든 텍스트가 표시되었습니다. 나는 레이블을 전혀 엉망으로 만들 필요가 없었습니다. 하지만 이제 셀 내부에 사용자 지정 UILabel이 있고 텍스트가 잘립니다. 나는 여기에서 많은 답변을 보았지만 아무것도 작동하지 않는 것 같습니다.

내 코드는 다음과 같습니다.

//This method gets the size of the text that will be inside the cell/label. This works fine
-(CGFloat)getLabelHeightForText:(NSString *)text andWidth:(CGFloat)labelWidth
{

    CGSize maximumSize = CGSizeMake(labelWidth, 10000);

    UIFont *systemFont = [UIFont systemFontOfSize:15.0];
    //provide appropriate font and font size
    CGSize labelHeightSize = [text sizeWithFont:systemFont
                             constrainedToSize:maximumSize
                                 lineBreakMode:NSLineBreakByWordWrapping];
    return labelHeightSize.height;
}



//Dynamically changes the cell height. This works fine
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{


    NSString *reviewText = [[self.reviews objectAtIndex:indexPath.row] objectForKey:@"reviewText"];

    CGFloat textHeight = [self getLabelHeightForText:reviewText andWidth:self.tableView.frame.size.width];

    return (textHeight + 40);
}

//This is what doesnt seem to be working. 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    //Review label
    NSString *reviewText = [[self.reviews objectAtIndex:indexPath.row] objectForKey:@"reviewText"];

    UILabel *reviewLabel = (UILabel *)[cell viewWithTag:102];

    CGFloat reviewLabelHeight = [self getLabelHeightForText:reviewText andWidth:reviewLabel.frame.size.width];

    reviewLabel.frame = CGRectMake(reviewLabel.frame.origin.x, reviewLabel.frame.origin.y, reviewLabel.frame.size.width, reviewLabelHeight);

    reviewLabel.text = reviewText;

    reviewLabel.numberOfLines = 0;

    reviewLabel.lineBreakMode = NSLineBreakByWordWrapping;

    NSLog(@"Height: %f", reviewLabel.frame.size.height);

     NSLog(@"Width: %f", reviewLabel.frame.size.width);


//   cell.textLabel.text = [[self.reviews objectAtIndex:indexPath.row] objectForKey:@"reviewText"];
//   
//   cell.textLabel.numberOfLines = 0;
//    
//   cell.textLabel.lineBreakMode = NSLineBreakByWordWrapping;

    return cell;
}

보시다시피, ive는 레이블의 높이와 너비를 기록했습니다. 너비는 정확하고 텍스트에 따라 높이가 동적으로 변경되는 일정한 280을 유지합니다. 모든 것이 잘 작동하는 것처럼 보입니다. 그러나 슬프게도 그렇지 않습니다. 셀 크기가 잘 조정됩니다. 레이블 (NSLogs에서 판단)의 크기가 잘 조정되는 것 같은데 왜 내 텍스트가 잘리나요?

감사

Stonep123

현재 프로토 타입 셀에 몇 가지 자동 레이아웃 제약 조건을 추가하여이 문제를 해결했습니다. 자동 레이아웃을 끄는 것도 작동했습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

UILabel의 새 줄에 텍스트 추가

분류에서Dev

글꼴 크기가 다양 할 때 UILabel의 텍스트를 동적으로 늘리거나 줄이는 방법 iOS

분류에서Dev

UITableviewcell에 동적 높이가있는 UILabel

분류에서Dev

Python에서 두 개의 동일한 줄 사이에 텍스트 가져 오기

분류에서Dev

텍스트 추출에 Otsu의 임계 값을 적용한 후 가장자리가 거친 텍스트

분류에서Dev

스크롤하는 동안 사용자 정의 UITableViewCell의 UITextFields 텍스트가 다른 셀에 나타납니다.

분류에서Dev

UITableViewCell의 이동 된 뷰는 UILabel SetText가 호출 된 후 재설정됩니다.

분류에서Dev

텍스트 파일에 대한 작업을 동시에 수행 한 후 텍스트 파일의 특정 줄을 삭제하는 방법

분류에서Dev

두 줄의 텍스트가있는 완벽한 원 만들기

분류에서Dev

텍스트 파일의 각 줄에 추가하기위한 Window Perl 스크립트

분류에서Dev

Drool의 작업 메모리에서 팩트를 제거한 후 힙 크기가 줄어들지 않음

분류에서Dev

Powershell을 사용하여 한 줄의 텍스트를 그 위에있는 텍스트의 끝으로 이동

분류에서Dev

동일한 컨테이너에있는 다른 요소의 크기에 따라 인라인 텍스트를 줄 바꿈 할 수 있습니까?

분류에서Dev

동적 체크 박스 번호로 한 줄에 3 개의 체크 박스 만있는 방법

분류에서Dev

동일한 셀에서 일반 텍스트의 새 줄로 굵은 텍스트를 만드는 방법

분류에서Dev

파이썬 읽기는 텍스트 파일의 목록에 한 줄 이상 추가합니다.

분류에서Dev

정규식은 한 줄의 텍스트와 일치하지만 여러 줄의 텍스트가 일치하는 경우에는 일치하지 않습니까?

분류에서Dev

JVM의 종료 후크가 호출되기 전에 @SpringBootTest 컨텍스트를 닫는 방법 (모든 JUnit 테스트 후 한 번)

분류에서Dev

줄 번호가 앞에있는 텍스트 파일의 각 줄 읽기

분류에서Dev

텍스트 파일의 텍스트를 한 줄씩 워크 시트에 붙여 넣기

분류에서Dev

평면 테두리가있는 WPF의 한 줄 텍스트 상자 템플릿

분류에서Dev

마지막 줄을 제외한 텍스트 파일의 각 줄에 && \ 추가

분류에서Dev

Bash에서 한 줄의 텍스트를 대체하는 방법

분류에서Dev

숭고한 텍스트 2의 미디어 쿼리에서 강조 표시가 잘못 작동 함

분류에서Dev

한 div의 텍스트가 두 번째 div의 너비를 기준으로 잘리는 동일한 행의 두 div (화살표 모양의 부모 div)

분류에서Dev

여러 줄의 텍스트를 한 줄로 추출하는 Powershell 스크립트

분류에서Dev

텍스트 리눅스의 각 줄에 balise [img] [/ img]를 추가하는 스크립트?

분류에서Dev

트리 링크의 한쪽에만 텍스트를 추가하는 방법

분류에서Dev

목록의 각 줄 뒤에 자동으로 "텍스트"추가

Related 관련 기사

  1. 1

    UILabel의 새 줄에 텍스트 추가

  2. 2

    글꼴 크기가 다양 할 때 UILabel의 텍스트를 동적으로 늘리거나 줄이는 방법 iOS

  3. 3

    UITableviewcell에 동적 높이가있는 UILabel

  4. 4

    Python에서 두 개의 동일한 줄 사이에 텍스트 가져 오기

  5. 5

    텍스트 추출에 Otsu의 임계 값을 적용한 후 가장자리가 거친 텍스트

  6. 6

    스크롤하는 동안 사용자 정의 UITableViewCell의 UITextFields 텍스트가 다른 셀에 나타납니다.

  7. 7

    UITableViewCell의 이동 된 뷰는 UILabel SetText가 호출 된 후 재설정됩니다.

  8. 8

    텍스트 파일에 대한 작업을 동시에 수행 한 후 텍스트 파일의 특정 줄을 삭제하는 방법

  9. 9

    두 줄의 텍스트가있는 완벽한 원 만들기

  10. 10

    텍스트 파일의 각 줄에 추가하기위한 Window Perl 스크립트

  11. 11

    Drool의 작업 메모리에서 팩트를 제거한 후 힙 크기가 줄어들지 않음

  12. 12

    Powershell을 사용하여 한 줄의 텍스트를 그 위에있는 텍스트의 끝으로 이동

  13. 13

    동일한 컨테이너에있는 다른 요소의 크기에 따라 인라인 텍스트를 줄 바꿈 할 수 있습니까?

  14. 14

    동적 체크 박스 번호로 한 줄에 3 개의 체크 박스 만있는 방법

  15. 15

    동일한 셀에서 일반 텍스트의 새 줄로 굵은 텍스트를 만드는 방법

  16. 16

    파이썬 읽기는 텍스트 파일의 목록에 한 줄 이상 추가합니다.

  17. 17

    정규식은 한 줄의 텍스트와 일치하지만 여러 줄의 텍스트가 일치하는 경우에는 일치하지 않습니까?

  18. 18

    JVM의 종료 후크가 호출되기 전에 @SpringBootTest 컨텍스트를 닫는 방법 (모든 JUnit 테스트 후 한 번)

  19. 19

    줄 번호가 앞에있는 텍스트 파일의 각 줄 읽기

  20. 20

    텍스트 파일의 텍스트를 한 줄씩 워크 시트에 붙여 넣기

  21. 21

    평면 테두리가있는 WPF의 한 줄 텍스트 상자 템플릿

  22. 22

    마지막 줄을 제외한 텍스트 파일의 각 줄에 && \ 추가

  23. 23

    Bash에서 한 줄의 텍스트를 대체하는 방법

  24. 24

    숭고한 텍스트 2의 미디어 쿼리에서 강조 표시가 잘못 작동 함

  25. 25

    한 div의 텍스트가 두 번째 div의 너비를 기준으로 잘리는 동일한 행의 두 div (화살표 모양의 부모 div)

  26. 26

    여러 줄의 텍스트를 한 줄로 추출하는 Powershell 스크립트

  27. 27

    텍스트 리눅스의 각 줄에 balise [img] [/ img]를 추가하는 스크립트?

  28. 28

    트리 링크의 한쪽에만 텍스트를 추가하는 방법

  29. 29

    목록의 각 줄 뒤에 자동으로 "텍스트"추가

뜨겁다태그

보관