함유 된 UitableViewCell이 넘치는 멀티 라인 Uilabel을 어떻게 수정합니까?

StackOverflow https://stackoverflow.com/questions/984362

  •  13-09-2019
  •  | 
  •  

문제

커스텀 UitableView 셀에 멀티 라인 Uilabel을 표시하는 데 어려움이 있습니다.

나는 현재 셀의 높이를 계산하기 위해 이것을 사용하고 있습니다 ...

NSString *cellText = [howtoSection objectAtIndex:row];
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:15.0];
CGSize constraintSize = CGSizeMake(260.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

return labelSize.height + 20;

... 그리고 이것은 레이블 자체를위한 것입니다.

// Calc the height
NSString *cellText = [howtoSection objectAtIndex:row];
CGSize constraintSize = CGSizeMake(260.0f, MAXFLOAT);
CGSize labelSize = [cellText sizeWithFont:cell.textLabel.font constrainedToSize:constraintSize lineBreakMode:cell.textLabel.lineBreakMode];

// Create the label frame
CGRect newFrame = cell.contentLabel.frame;
newFrame.size.height = labelSize.height;
cell.contentLabel.frame = newFrame;

[cell.contentLabel setText:[howtoSection objectAtIndex:row]];

라벨이 셀에서 아래로 밀려 나가는 것을 제외하고는 모든 것이 계획된대로 작동합니다. 이 명백한 상위 마진이 아니라면 모든 것이 맞습니다.

다음은 시뮬레이터에서 내가보고있는 사진에 대한 링크입니다 ...

iPhone 렌더링 버그

여기서 도움을 주셔서 감사합니다.

도움이 되었습니까?

해결책

나는 당신이 설정하는 것을 보지 못합니다 cell.contentLabel.font 당신이 보여주는 코드에서.

또한 라벨 크기 계산이 사용됩니다 cell.textLabel.font 크기를 계산하지만 사용을 사용합니다 contentLabel 변하기 쉬운.

계산과 다른 글꼴로 렌더링 할 수 있습니까?

다른 팁

ContentView에 레이블을 어떻게 추가하고 있습니까? 높이가 올바르게 계산되는 것처럼 보이기 때문에 원래 위치 지정이 잘못된 것 같습니다. 새 프레임을 할당하지 않으면 레이블이 올바른 위치에 있습니까? 내 베팅은 그렇지 않다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top