如何使用UISwitch填充UITableView。

时间:2013-06-12 06:18:12

标签: ios uitableview uiswitch

我正在使用Apple的示例代码TheElements来解决这个问题。该项目可在此处找到:TheElements

我想知道如何使用UISwitch填充“Grouped by State”UITableView。我在File:AtomicElementFlippedView中添加了一个UISwitch,它将所选元素添加到“按状态分组”UITableView。只是为了澄清我已经删除了“按状态分组”UITableView数据。当用户点击UISwitch到ON位置时,我希望UITableView被填充,这将把所选元素添加到UITableView中。我已经完成了大量的谷歌搜索,似乎有几种方法可以解决它,但没有似乎工作。任何帮助将不胜感激。

GUI:http://imgur.com/UcYZUyH

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您需要实施以下方法:

- (UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section
{
    //This should really be a class in its own right. 
    UIView* headerView = [UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 0); 
    UISwitch* aSwitch = [[UISwitch alloc] initWithFrame:CGRectZero];
    [headerView addSubView:aSwitch];

}

- (CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section
{
    return 80;
}

发生了什么事?

我们创建了一个UIView容器并向其添加了一个UISwitch,根据表视图合约将UIView作为标题视图返回。

上面创建的headerView实际上应该作为一个类创建,你应该覆盖layoutSubviews,将组件放在与父视图大小相对应的正确位置。 (这是如何在代码中进行自动布局)。