[英]UILabel text overrun in custom tableCell
我在自定義UITableCell子類中遇到一個奇怪的問題。此自定義單元格有一對UILable,它們是多行的,可以包含不同數量的文本(最多2000個字符)。 自定義tableCell有一個布局方法,在該方法中,我考慮以下設備方向,使用以下代碼計算其框架的高度:
if (isPortrait) {
presentationTextLabelSize = [presentationTextStr sizeWithFont:[UIFont systemFontOfSize:12.0f] constrainedToSize:CGSizeMake(portraitDescriptionWidth, 2000.0f) lineBreakMode:UILineBreakModeWordWrap];
presentationTextLabelRect = CGRectMake(60.0f, 25.0f, portraitDescriptionWidth, presentationTextLabelSize.height);
} else {
presentationTextLabelSize = [presentationTextStr sizeWithFont:[UIFont systemFontOfSize:12.0f] constrainedToSize:CGSizeMake(landscapeDescriptionWidth, 2000.0f) lineBreakMode:UILineBreakModeWordWrap];
presentationTextLabelRect = CGRectMake(60.0f, 25.0f, landscapeDescriptionWidth, presentationTextLabelSize.height);
}
self.presentationTextLabel.frame = presentationTextLabelRect;
我將標簽的autoResizeMask設置如下:
self.presentationTextLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin;
我在UITableViewController中使用相同的計算來設置行高。
一切運行正常,標簽的大小調整為適合其寬度的高度,並且單元格在設備旋轉時自動調整大小,不同之處在於,當設備旋轉以橫向顯示標簽時,標簽文本有時會從標簽的框外向右伸出,經過tableView的邊緣。 如果我將單元格滾動到視線之外並再次返回,則它將恢復正常。 我正在將單元格的寬度記錄到控制台,這是正確的,但是文本遠遠超出了該寬度。
有什么想法嗎?
謝謝
問題是,將設備旋轉到橫向時,不會重新加載tableView
。 因此,更新文本時會出現不匹配的情況。 使用[tableView reloadData];
在找到設備的地方已更改為橫向模式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.