如何在一个tableviewcontroller中设置多个tableviewcells?

时间:2014-07-16 01:37:06

标签: ios objective-c uitableview

我在同一个TableViewController中有两个TableViewCell,我想知道如何设置它们。特别是在cellForRowAtIndexPath

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    SignInTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SignInTableViewCell" forIndexPath:indexPath];

    SignUpTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SignUpTableViewCell" forIndexPath:indexPath];
    // Configure the cell...

    return cell;
}

这是故事板中的图像(imgur.com/vCRGY6V)。我正在尝试设置这两个单元格。我有两个设置的TableViewCells,但没有设置它们的TableViewController。 imgur.com/vCRGY6V

2 个答案:

答案 0 :(得分:0)

您只能从tableView:cellForRowAtIndexPath:返回一个单元格。您需要使用一些逻辑来确定要返回的单元格类型。

例如:

if (indexPath.row == 0) {
    // instantiate and return one type of cell
} else {
    // instantiate and return the other type of cell
}

答案 1 :(得分:-1)

-(int) numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

-(int) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 2;
}


-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString * cellIdentifierSignUp = @"SignUpTableViewCell" 
    static NSString * cellIdentifierSignIn = @"SignInTableViewCell" 
    UITableViewCell * cell;
        if (indexPath.row==0)
        {
            cell = [tableView dequeueReusableCellWithIdentifier: cellIdentifierSignUp];
        }
        else if (indexPath.row==1)
        {
            cell = [tableView dequeueReusableCellWithIdentifier: cellIdentifierSignIn];
        }
    return cell;
}