gpt4 book ai didi

objective-c - 在 UITableView 中显示多个自定义单元格?

转载 作者:行者123 更新时间:2023-12-04 05:55:31 25 4
gpt4 key购买 nike

我在 SnowLeopard 上使用 Xcode 4.2,我的项目正在使用 Storyboard。我正在尝试实现 UITableView具有 2 种不同的自定义单元格类型,sessionCellinfoCell .我可以让这两种类型出现在同一个列表中,但现在我有一个新问题?! sessionCell显示一次,然后是infoCells的X号在它之后显示 - 正如我想要的 - 除了第一个 infoCell总是被 sessionCell 覆盖!

- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section
{
return [self.people count];
}

//inside cellForRowAtIndexPath
if(indexPath.row == 0) {
cell = [tableView dequeueReusableCellWithIdentifier:@"sessionCell"];
} else {
cell = [tableView dequeueReusableCellWithIdentifier:@"infoCell"];
}
...
return cell;

我试着说 return array count + 1 ,甚至硬编码 return 7 (它符合我的例子)但两者都不正确!
myObject *person = [self.people objectAtIndex:indexPath.row];

还是我的问题出在上面那一行?我什至试过 indexPath.row+1 ...

任何帮助将不胜感激!!

最佳答案

如果我正确理解你的问题,第一个 infoCell (第二 UITableView 行)应该显示第一人称对象的数据,对吗?

那么你似乎想要:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *sessionCellID = @"sessionID";
static NSString *infoCellID = @"infoID";

if( indexPath.row == 0 ) {
SessionCellClass *cell = nil;
cell = (SessionCellClass *)[tableView dequeueReusableCellWithIdentifier:sessionCellID];
if( !cell ) {
// do something to create a new instance of cell
// either alloc/initWithStyle or load via UINib
}
// populate the cell with session model
return cell;
}
else {
InfoCellClass *cell = nil;
cell = (InfoCellClass *)[tableView dequeueReusableCellWithIdentifier:infoCellID];
if( !cell ) {
// do something to create a new instance of info cell
// either alloc/initWithStyle or load via UINib
// ...

// get the model object:
myObject *person = [[self people] objectAtIndex:indexPath.row - 1];

// populate the cell with that model object
// ...
return cell;
}
}

您需要返回 [[self people] count] + 1对于行数:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [[self people] count] + 1;
}

以便第 n 行显示第 (n-1) 个数据。

关于objective-c - 在 UITableView 中显示多个自定义单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9551093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com