2009-06-07 25 views
1

我的UITableViewCell佔據了全部可視區域。我想使用分組表格,以便單元格顯示爲圓角。現在,如果我將部分的數量設置爲大於1的部分,我會按分組樣式獲取部分的數量,但是每個部分都會重複所有單元格。我如何設置表格以便每個單元格都在一個區域中?在自己的組中設置每個單元

另外,是否有可能以編程方式將表格樣式設置爲分組?

回答

3

關於第二個問題:

tableView.style = UITableViewStyleGrouped; 

或者,如果你編程方式創建它:

tableView = [[UITableView alloc] initWithFrame:frame style:UITableViewStyleGrouped]; 

關於第一個問題,我想你要設置你的細胞是這樣的:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    ... 
    setupCell(cell,indexPath.row); 
    return cell; 
} 

其中setupCell是檢查索引並設置單元格acc ordingly。然而,IndexPath會告訴你哪一行要設置哪一部分

我還以爲你返回全中的行數的功能

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

在那裏你只能返回1,因爲你想在每節正好1排。

然後,當您設置您的手機時,您需要檢查indexPath.section而不是indexPath.row。行由段從零開始,所以cellForRowAtIndexPath呼叫都將有看起來像這樣的索引路徑:

部分行的
0,0
1,0
2,0

而最初,當你只有一個部分,它會一直:
0,0
0,1
0,2

而且你看到現在,因爲什麼返回相同的行數作爲部分的是:
0,0
0,1
0,2

1,0
1,1
1,2

2,0
2,1
2,2

2

實際上,你不能做到這一點:

tableView.style = UITableViewStyleGrouped;

因爲樣式是隻讀屬性。

相關問題