如何用UISwitch填充UITableView



我使用Apple的示例代码TheElements来回答这个问题。该项目可以在这里找到:TheElements

我想知道如何使用UISwitch填充"按状态分组"UITableView。我已经添加了一个UISwitch到File: AtomicElementFlippedView,它将添加选定的元素到"按状态分组"UITableView。只是为了澄清我已经删除了"按状态分组"UITableView数据。我想UITableView得到填充当用户点击UISwitch到ON的位置,这将添加选定的元素到UITableView。我已经做了大量的谷歌搜索,似乎有几种方法可以做到这一点,但似乎没有一个工作。任何帮助都将非常感激。

GUI: https://i.stack.imgur.com/mt1ZI.jpg

如果我正确理解了你的问题,你将需要实现以下方法:

- (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作为header视图,按照表视图契约。

上面创建的headerView实际上应该作为一个独立的类来创建,并且你应该重写layoutSubviews以将组件放置在相应于父视图大小的正确位置。(这是如何在代码中做自动布局)。

最新更新