如何在特定的indexpath.row上显示自定义tableviewcell

时间:2018-03-30 06:28:05

标签: ios objective-c uitableview

我有tableview和两个不同的自定义单元格。 假设cell1和cell2。

现在我想在tableview中添加单元格,如下面的模式

小区1

小区1

小区1

CELL2

小区1

小区1

小区1

CELL2

等等,我有在cell1中显示的数据计数,但我不知道是否计数cell2因为它应该是dymanic计数,我的意思是说每3个cell1数据后第4个单元格将是cell2 < / p>

这是我的tableview代码

#pragma mark - TableView Delegate Methods
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection: (NSInteger)section{
return [arrayRecipeCategoryNAME count];
//return 22;
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:   (NSIndexPath *)indexPath{
return 175;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

if((indexPath.row % 3) == 0){
    HomeTableViewCell2 *cell2 = [tableView dequeueReusableCellWithIdentifier:@"Cell2" forIndexPath:indexPath];
    return cell2;
}
else{
    HomeTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    cell.lblRecipeCategory.text = [arrayRecipeCategoryNAME objectAtIndex:indexPath.row];
    cell.lblRecipeCategory.font = FONT_COMFORTAA_BOLD(28);
    cell.imgRecipeCategory.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",[arrayRecipeCategoryImage objectAtIndex:indexPath.row]]];
    return cell;
}
}

3 个答案:

答案 0 :(得分:1)

首先,必须调整$SQLServer = "testsql" $SQLDBName = "SQLInfo" $uid ="FAREAST\testuser" $ConnectionString="Server = $SQLServer; Database = $SQLDBName" $pwd = "testpwd" $dpwd = ConvertTo-SecureString -String $pwd -AsPlainText -Force $dpwd.MakeReadOnly() $creds = New-Object System.Data.SqlClient.SqlCredential ($uid,$dpwd) $con = New-Object System.Data.SqlClient.SqlConnection $con.ConnectionString = $ConnectionString $con.Credential = $creds $con.Open() $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = $SqlQuery $SqlCmd.Connection = $con $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $DataSet.Tables[0] | out-file "D:\Eswar\data.txt" 中返回的行数以显示额外的单元格 然后在numberOfRowsInSection:中,您需要调整数组索引以匹配用于数据源数组的正确序列cellForRowAtIndexPath:&amp; arrayRecipeCategoryNAME

以下内容适用于您当前的设计:

arrayRecipeCategoryImage

答案 1 :(得分:0)

你可以这样使用它。

var Index = [indexpath.Row] + 1

 if Index%4 == 0
 {
    // return cell 2
 }
 else{
    // return cell 1
 }

答案 2 :(得分:0)

如果修复了每个第四个单元格将是cell2,那么请尝试使用以下代码,这可能会有所帮助。

    Int *row = indexPath.row + 1
    if(row % 4 == 0){
        HomeTableViewCell2 *cell2 = [tableView dequeueReusableCellWithIdentifier:@"Cell2" forIndexPath:indexPath];
        return cell2;
    }
    else{
        HomeTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
        cell.lblRecipeCategory.text = [arrayRecipeCategoryNAME objectAtIndex:indexPath.row];
        cell.lblRecipeCategory.font = FONT_COMFORTAA_BOLD(28);
        cell.imgRecipeCategory.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",[arrayRecipeCategoryImage objectAtIndex:indexPath.row]]];
        return cell;
    }