我想用單元格的動態高度製作UITableview
。在每個單元格中,我都會顯示不同文字的信息。現在,我希望我的表格單元格可以根據消息的文本顯示,並且我單元格上顯示的標籤也應顯示文本。 我正在讓我的表格單元格可以容納在一行中的字符數量的基礎上靈活。但這是問題。不同的字母需要不同的空間。所以,我無法計算一行中可以有多少個字母。對此有何建議?如何計算UILabel行中有多少個字符?
回答
試試這個:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{CGSize size;
if (SYSTEM_VERSION_LESS_THAN(@"7.0")) {
// code here for iOS 5.0,6.0 and so on
CGSize fontSize = [text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:17]];
size = fontSize;
}
else {
// code here for iOS 7.0
NSDictionary *attributesDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"Helvetica Neue" size:19], NSFontAttributeName,
nil];
CGRect fontSizeFor7 = [text boundingRectWithSize:CGSizeMake(571, 500)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:attributesDictionary
context:nil];
size = fontSizeFor7.size;
}return size.height +30 ;
}
其工作精細對於iOS 7,但不適用於iOS 6 – user3572586
爲什麼+30? 'size.height + 30' – thedp
檢查我的答案
Calculate UITableViewCell height to fit string
在這裏,你必須按照文本,然後設置單元格的高度來計算標籤的高度。
您可以使用它動態計算高度和寬度。
我希望它會幫助你
您正在使用: [ourText sizeWithFont:font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap]; 此方法已被棄用。 – user3572586
是的,我知道...但它適用於低於7.0的ios版本。對於其他你可以找到它的替代品。我已經給你線索:) – svrushal
請我下面的回答
UILabel *lbl = [[UILabel alloc] init];
lbl.text = @"abcd";
NSLog(@"count %lu",(unsigned long)[lbl.text length]);
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString * yourCellStr = @"The string you want to apply to your cell at this index path";
CGSize maxLblSize = CGSizeMake(320, 200);
CGSize expectedLblSize = [yourCellStr sizeWithFont:[UIFont systemFontOfSize:15] constrainedToSize:maxLblSize lineBreakeMode:NSLineBreakByWordWrapping];
return expectedLblSize.height;
}
sizeWithFont方法已棄用 – user3572586
你不想算多少字符文本有,只需使用以下數字計算高度:
h = [NSString stringWithFormat:@"%f",
[post.text boundingRectWithSize:CGSizeMake(298.0f, CGFLOAT_MAX)
options:(NSStringDrawingUsesLineFragmentOrigin)
attributes:[NSDictionary dictionaryWithObject:[UIFont fontWithName:@"Helvetica Neue" size:14.0]
forKey: NSFontAttributeName]
context:nil].size.height]
使用您的寬度爲298和您的字體/字體大小。
- 1. 計算多少個字符
- 2. 計算有多少個字符可以放在UILabel的一行上
- 3. 如何計算給定字符串中有多少個「ZE」
- 4. SMS中計算的「新行」(\ r \ n)有多少個字符?
- 5. 計算字符串中有多少個特定字符
- 6. 計算兩個字符串有多少個重複字符
- 7. Python:計算字符串中有多少個字母
- 8. 統計DIV中有多少個字符
- 9. 計算數組中有多少個字符
- 10. 如何計算我們的字符串有多少元音?
- 11. Golang中如何計算字節中有多少位字節?
- 12. 計算兩個字符串共享多少個唯一字符
- 13. 如何計算數組的每個字符串中有多少位數?
- 14. 計算一行中有多少「逗號」
- 15. 計算多少個字典中有多個值的密鑰
- 16. 如何計算Java中的字符串中每個單詞中有多少個字符?
- 17. 計算字符串中出現多少個數字
- 18. 如何計算一行有多少個不同的值?
- 19. 如何計算某個值之前有多少行?
- 20. UILabel中有多行文字
- 21. 正則表達式來計算字符串中有多少換行符(\ n)?
- 22. 如何計算一個數組中有多少個最大值?
- 23. Java - 計算在另一個字符串中顯示多少個字符
- 24. 計算多個字符php
- 25. 計算輸入框中逗號分隔多少個字符串
- 26. 如何計算在Linux目錄中運行多少個文件?
- 27. 計數列表中有多少個字,字符串中使用
- 28. 計算一個字符串中有多少個單獨的整數,Python 3
- 29. 我如何讓Python計算一個單詞中有多少個字母?
- 30. 你如何計算列表中有多少個最大值?
你試過的郵政編碼。 – Rushabh
希望有些類可以處理字體。你不需要計算每個字符的字體等。 –