在我的应用程序中,我有3个类别(部分),在每个类别中我有3个项目(行)。
我已使用分组样式UITableview
实现了它。
但它的分组方式不适合我的应用流程。
如何自定义UITableview
个部分?
我实际上想要3个块的部分,而且我应该能够选择整个块而不是单个子类别(即行)。当用户选择整个块时,将出现新控制器。他们的任何方法都是:-didSelectSectionAtIndexpath
?那么整个行动可以在整个部分进行吗?
答案 0 :(得分:3)
您可以按照以下方式创建自定义标题视图,同样也可以设置页脚
标题
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 18)];
/* Create custom view to display section header... */
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 5, tableView.frame.size.width, 18)];
[label setFont:[UIFont boldSystemFontOfSize:12]];
NSString *string =[list objectAtIndex:section];
/* Section header is in 0th index... */
[label setText:string];
[view addSubview:label];
[view setBackgroundColor:[UIColor colorWithRed:166/255.0 green:177/255.0 blue:186/255.0 alpha:1.0]]; //your background color...
return view;
}
页脚
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section; // custom view for footer. will be adjusted to default or specified footer height
您需要创建两个视图,使其看起来整体相同(根据您的UI要求)
答案 1 :(得分:1)
没有didSelectSectionAtIndexpath
方法,但你可以做一些即兴创作。您可以向整个标题部分添加一个按钮,然后在此按钮单击事件上显示新控制器。
同时在didselectrowatindexpath
上调用相同的新控制器。
现在在cell.selectionStyle = UITableViewCellSelectionStyleNone;
中设置cellForRowAtIndexPath
。这将给用户一个他实际上选择整个块的印象。
您还必须创建UI smarlty,以使标题和行看起来像一个部分。
答案 2 :(得分:1)
请您详细说明一下这个问题?一旦触及章节,你想要展示什么?一个视图控制器,其中包含与该部分相关的3个项目或其他内容?