2016-06-07 51 views
0

我有一個表格視圖,它有原型單元格。如何使用特定標識符設置所有單元格的高度?例如,我有兩個單元格;一個標識符爲"cell10",另一個標識符爲"cell50"。我如何設置它,使標識爲"cell10"的所有單元的高度爲10,而標識爲"cell50"的所有單元的高度爲50?任何答案表示讚賞。 (順便說一句,我使用的是Swift 2.)使用特定標識符設置所有單元格的高度?

+0

您是否對錶格視圖中的所有單元格使用不同的標識符? – Dev

+1

每個單元格正根據您的數據源被創建/出列。此數據源必須指示是否使用索引路徑使用'cell10'或'cell50'。只需使用相同的信息根據是否爲該索引路徑使用「cell10」或「cell50」來確定返回哪個高度。 –

回答

2

在heightForRowAtIndexPath()中可以調用cellForRowAtIndexPath()。 一旦你有了這個單元,你就可以調用reuseIdentifier來獲得它的標識符。 然後回到10或基於標識符

0

我不知道如何做到這一點的迅速,但在目標C我會做以下事情 -

實施tableview-

以下功能50
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    //your custom cell 
     UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 

     if(cell.reuseIdentifier isEqualToString:@"cell10"){ 
      return 10; 
     }else{ 
      return 50; 
     } 
    } 
0

heightForRowAtIndexPath先調用,然後調用cellForRowAtIndexPath。所以有可能在heightForRowAtIndexPath方法中我們沒有得到單元格或者一些不一致。

您必須具有某些值或字段,才能指定或區分單元標識符。你有一系列可能包含該值的模型。 因此,在heightForRowAtIndexPath()中,可以使用objectAtIndex方法從該數據源數組的數據源數組中獲取模型,然後檢查它是哪種類型,並根據返回的高度進行檢查。

這將有助於在任何情況下。它爲我工作。

相關問題