隐藏或显示表格视图

Posted

技术标签:

【中文标题】隐藏或显示表格视图【英文标题】:hide or show tableview 【发布时间】:2012-07-15 07:26:08 【问题描述】:

假设我在它下面有一个开关和一个小表格视图(无滚动)。我知道开关是否使用bool switchState 打开/关闭,其值在开关的操作方法中发生了变化:

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

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

【问题讨论】:

【参考方案1】:

每个UIView 都有一个属性hidden

@property(nonatomic, getter=isHidden) BOOL hidden

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

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

编辑:

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

【讨论】:

我从笔尖创建了 tableView。 self.tableView.hidden = NO; 或 yes 给出一个错误,基本上是说在视图控制器中找不到 tableView 您使用的是UITableViewController 还是只是UIViewController UITableViewController。将tableview拖入nib并调整连接后,我使用方法:- (UITableViewCell *)tableView:cellForRowAtIndexPath:将单独的行添加到table view中。 每个UITableViewController 都有一个属性tableView。你确定没有错字? tableView的作用域不是仅限于我上面评论中提到的方法吗?

以上是关于隐藏或显示表格视图的主要内容,如果未能解决你的问题,请参考以下文章

iOS:滚动表格视图时隐藏和显示自定义导航栏

仅在表格视图的特定单元格上显示和隐藏视图

滚动时隐藏自定义表格视图单元格标签如何解决?

搜索表格视图时如何隐藏集合视图?

移动表格视图位置和隐藏视图

当在同一个单元格内单击按钮时,如何在自定义表格视图单元格内隐藏/显示特定视图