我有一個表格視圖,它具有由代碼創建的動態單元格。 In IOS 7
以確保得到充分的展示單元,我覆蓋的方法heightForRowAtIndexPath
UITableViewAutomaticDimension
重寫此方法在iOS8上似乎讓我的電池只是一個在另一個之上,並且所有大小的67.0003
我不想爲單元格創建自動佈局佈局,它們太複雜並且已經制作
有沒有辦法解決ios 8中的高度問題?
我有一個表格視圖,它具有由代碼創建的動態單元格。 In IOS 7
以確保得到充分的展示單元,我覆蓋的方法heightForRowAtIndexPath
UITableViewAutomaticDimension
重寫此方法在iOS8上似乎讓我的電池只是一個在另一個之上,並且所有大小的67.0003
我不想爲單元格創建自動佈局佈局,它們太複雜並且已經制作
有沒有辦法解決ios 8中的高度問題?
沒有與方法heightForRowAtIndexPath沒有問題的,它的工作原理以及在iOS8上以及 的問題是在我的heightForRowAtIndexPath我寫
CGSize size;
a bunch of ifs
size.height = something
,並在其他情況下,我不得不
size.height+= something
and size.height
在開始時並非總是0
UITableViewAutomaticDimension僅適用於自動佈局。如果您不使用自動佈局,請不要使用類似於
self.tableView.rowHeight = UITableViewAutomaticDimension;
如果您可以提供控制器的代碼,這將會很有幫助。
如果你想要動態cel l你需要先設置單元格的大小
例如: 你想給每個tableview單元格的一些文本信息首先你需要根據單元格的高度來計算高度,然後在heightForRowAtIndexPath中設置單元格的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath: (NSIndexPath *)indexPath
{
NSString* text= [yourArray objectAtIndex:indexPath.row];
CGSize textSize= [text getTextSize];
if (textSize<SomeMinValue)
{
textSize= CGSizeMake(cellWidth, SomeMinValue)
}
return textSize.height;
}
我該如何禁用它?讓系統讓我做計算? – 2014-10-11 02:40:19
嘗試設置self.tableView.estimatedRowHight = 44;只留下.rowHeight並覆蓋heightForRowAtIndexPath。 – Tuan 2014-10-11 12:10:54
正如在帖子中提到的,覆蓋ios8中的heightForRowAtIndexPath使得所有的行都在另一個之上。如果我不覆蓋他們,他們都設置爲67點高 – 2014-10-11 13:14:07