应用程序中的自定义UITableview部分

时间:2014-02-03 11:15:15

标签: ios iphone uitableview ios5

在我的应用程序中,我有3个类别(部分),在每个类别中我有3个项目(行)。 我已使用分组样式UITableview实现了它。

但它的分组方式不适合我的应用流程。

如何自定义UITableview个部分?

我实际上想要3个块的部分,而且我应该能够选择整个块而不是单个子类别(即行)。当用户选择整个块时,将出现新控制器。他们的任何方法都是:-didSelectSectionAtIndexpath?那么整个行动可以在整个部分进行吗?

3 个答案:

答案 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个项目或其他内容?