ViewController中的自定义UITableView和自定义UITableViewCells

时间:2015-01-02 15:06:19

标签: ios xcode uitableview

然后,我让我的ViewController显示一个包含2个自定义单元格的TableView:

所以,我创建了2个Cocoa Touch文件类:CellClassOne和CellClassTwo,我通过Identity Inspector将自定义类设置为接口构建器中的相应单元格,之后,我将头文件导入View Controller实现文件:

Headers

现在我实现了UITableView的方法和协议(在ViewController头文件中声明的协议),我的代码看起来像这样,但我知道它根本不正确......

我错过了一些东西吗?

cellClassTableView is the IBOutlet declared in ViewController.h by control drag in interface builder

#pragma mark Cell Classes Table View data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    return 1;
}

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

    return 2;
}


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

    if (indexPath.row == 0) {
        CellClassOne *cellClassOne = [tableView dequeueReusableCellWithIdentifier:@"CellClassOne" forIndexPath:indexPath];

        if (cellClassOne == nil) {

            cellClassOne = [[CellClassOne alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellClassOne"];
        }

        return cellClassOne;

    }

    else if (indexPath.row == 1) {
        CellClassTwo *cellClassTwo = [tableView dequeueReusableCellWithIdentifier:@"CellClassTwo" forIndexPath:indexPath];

        if (cellClassTwo == nil) {

            cellClassTwo = [[CellClassTwo alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellClassTwo"];
        }

        return cellClassTwo;

    }

        return nil;
}


@end

1 个答案:

答案 0 :(得分:0)

1.在界面构建器中选择cell1并在其中指定“CellClassOne”cellIdentifier ...对cell2执行相同操作,即CellClassTwo。

2.在@interface ViewController旁边添加UITableViewDataSource和UITableViewDelegate