0

我在 tableView1 的标题中有 2 个按钮。我想要这样当人们单击任一按钮时,会发生两件事:

tableView1 消失

tableView2 出现

或者

tableView1 出现

tableView2 消失

我怎样才能使用 IOS 做到这一点?

我尝试执行以下操作:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == 0)
{
        UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
        [button setImage: [UIImage imageNamed:@"tableheader_01.png"]forState:UIControlStateNormal];
        button.frame = CGRectMake(0, 0, 159, 57);
        button.tag = 7;
        [button addTarget:self action:@selector(hideTable:) forControlEvents:UIControlEventTouchUpInside];

        UIButton *button2 = [UIButton buttonWithType:UIButtonTypeCustom];
        [button2 setImage: [UIImage imageNamed:@"tableheader_02.png"]forState:UIControlStateNormal];
        button2.frame = CGRectMake(159, 0, 161, 57);
        button2.tag = 7;
        [button2 addTarget:self action:@selector(hideTable:) forControlEvents:UIControlEventTouchUpInside];

        [cell.contentView addSubview: button];
        [cell.contentView addSubview: button2];

hideTable 的代码如下:

-(IBAction) hideTable : (id) sender;
{
    NSLog(@"test");

    [self.myTableView1 setHidden:YES];
    [self.myTableView2 setHidden:NO];
}

但这不起作用。

4

3 回答 3

0

您可以使用单个表格视图并在单击按钮时更改数据源,然后重新加载表格视图。

于 2012-11-28T02:38:04.453 回答
0

你可以设置self.myTableView1.datasource = nil,当你需要使用它时,你可以设置self.myTableView1.datasource = self和[self.myTableView1 reloaddata]

于 2012-11-28T02:55:05.060 回答
0

实现这样的 UI 有很多可能性。

1.您可以将两个按钮都保留在两个表格之外或上方。这样,如果您单击按钮 1,您将隐藏第一个表格并显示第二个表格,然后单击第二个隐藏第二个表格并显示第一个表格。

或者

2.在第一个表中,像您一样在第一行添加两个按钮。当您单击 button1 时,不是隐藏第一个表,而是在 numberofrows 方法中为 table1 数据源返回 1 并重新加载 table1,这样按钮就会在那里然后显示第二个表在第一个表下方。当用户单击第二个按钮然后隐藏第二个表并返回第一个表的新数据源并重新加载表 1。

或者

3.为两个数据源使用一个表。在第一行会有两个按钮。点击它们相应地重新加载表。

于 2012-11-28T05:45:11.593 回答