我已经设置了自定义单元格的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; } } }
解决方法
您可以在其中定义部分和行的数量,如下所示:
- (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; }