隐藏或显示tableview

时间:2012-07-15 07:26:08

标签: objective-c xcode cocoa-touch uitableview

说我下面有一个开关和一个小桌子视图(没有滚动)。我知道如果使用bool switchState打开/关闭开关,其值在交换机的操作方法中会发生变化:

-(IBAction)switchSlide:(id)sender{
    if (toggleSwitch.on == YES) {
        switchState = YES;
    }
    else{ 
        switchState = NO;
    }
}

现在我想要的是它下面的表格视图应该在switchState == NO时隐藏。我该怎么做?

1 个答案:

答案 0 :(得分:0)

每个UIView都有一个属性hidden

@property(nonatomic, getter=isHidden) BOOL hidden

由于UITableViewUIView的子类,您也可以使用UIView中的方法。
因此,您的代码只需稍加调整(假设您在IBAction中调用此UITableViewController):

-(IBAction)switchSlide:(id)sender{
    if (toggleSwitch.on == YES) {
        switchState = YES;
        self.tableView.hidden = NO;
    }
    else{ 
        switchState = NO;
        self.tableView.hidden = YES;
    }
}

修改

通过聊天解决了这个问题,解决方法是: 由于您使用UIViewController,因此必须为UITableView创建属性。通过从文件所有者拖动到界面构建器中的UITableView来合成它并连接插座。现在您可以使用上面的代码。