我已经使用自定义单元格设置了uitableview。
我想将这些分为带标题的部分。看下面的照片我正在寻找以下布局:
部分 - 我的个人资料
自定义单元格 - wwwwwwwwwwwwww ...
部分 - 申请
自定义单元格 - 游戏
自定义单元格 - 分享
自定义单元格 - 费率
自定义单元格 - 设置
自定义单元格 - 帮助
自定义单元格 - 注销
我可以看到如何添加一个部分并控制一个部分中的行,但这会将单元格复制到多个部分,我不知道如何让一个部分有一行,另一个部分有6行。我也希望将这些部分的样式显示出来,就像Facebook菜单样式一样。
我应该为实际部分创建自定义单元格而不对部分(单元格)选择执行任何操作吗?
以下是UITableView的代码
static NSString *CellIdentifier = @"Cell";
LeftMenuTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"LeftMenuTableViewCell" owner:nil options:nil];
for (UIView *view in views) {
if([view isKindOfClass:[UITableViewCell class]]) {
cell = (LeftMenuTableViewCell*)view;
}
}
}
答案 0 :(得分:22)
您可以按如下方式定义其中的部分和行数:
- (UIView *) tableview:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView view;
if(section == 0) {
// Initialise view for section 1
} else {
// Initialise view for section 2
}
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 2;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return ((section == 0) ? 1 : 6);
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// return appropriate cell(s) based on section
if(indexPath.section == 0)
{
// Return 1 cell
}
else if(indexPath.section == 1)
{
switch(indexPath.row) {
case 0: // Initialize cell 1
break;
case 1: // Initialize cell 2
break;
...
}
}
return cell;
}