UITableView
たとえば、50 行が含まれているとします。最初の行には 1 つの項目が含まれ、偶数行のインデックス セルにはすべて 2 つの項目が含まれますか? XIB
そのためには、交互の行ごとに2 つのビューを使用する必要がありますか?
totalrowcount とcellAtRowatindexpath
logic のロジックは何ですか?
他のオプションはありますか?
UITableView
たとえば、50 行が含まれているとします。最初の行には 1 つの項目が含まれ、偶数行のインデックス セルにはすべて 2 つの項目が含まれますか? XIB
そのためには、交互の行ごとに2 つのビューを使用する必要がありますか?
totalrowcount とcellAtRowatindexpath
logic のロジックは何ですか?
他のオプションはありますか?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row % 2 == 0) {
//cell type 1
} else if(indexPath.row % 2 == 1) {
//cell type 2
}
}
上記のコードは、代替セル パターンを割り当てるのに役立ちます
2 種類のセルがある場合は、2 つの異なる識別子を使用することをお勧めします。セルをデキューすると、必要なセルが得られます。
まず- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
、ここで 1 つのセクションを次のように使用して渡します。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
メソッドで- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
は、行の総数をデータソースとしてテーブルビューに渡します。例: 50 行を表示する必要がある場合は、50 行を次のように渡します。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 50;
}
そして- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
、必要に応じてセルを渡します例:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row %2 ==0)
{
// First alternaate cell which you need to display at even index
return ALTERNATE_NIB_1;
}
else
{
// Second alternaate cell which you need to display at odd index
return ALTERNATE_NIB_1;
}
return nil;
}
お役に立てば幸いです。
合計行数は 50 です
cellForRowAtIndexpath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// make 2 cellidentifiers here and use it for different nib
UITableViewCell *cell;
if(indexpath.row==0){
//load first nib
}
else
{
//load second nib
}
return cell;
}