删除Uitableviewcontroller上托管的Uitableview顶部或底部的视图?

时间:2014-07-24 08:51:33

标签: ios objective-c cocoa-touch uitableview

我目前正在尝试从我的tableview中删除顶视图或底视图,但整个tableview的大小并不正确。这是我到目前为止所做的。

  • 在Storyboard
  • 中创建了一个TableviewController
  • 创建了一个派生自UITableViewController并设置的类 一切都像代表等。
  • 将视图拖到Storyboard
  • 内的tableview顶部
  • 为此
  • 创建并连接了一个名为topview的商店
  • 在Viewwillappear中,我会删除那个取决于某些值的topview,所以我尝试了一些东西
-(void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    if(foo){
        [self.topView setHidden:YES];
        // or
        [self.topView removeFromSuperview];
        // or
        [self.topView setFrame:CGRectMake(0, 0, 0, 0)];
    }
}

例如,如果我从superview中移除视图,则topview不再可用,但顶部有一个很大的差距..如何在没有这个差距的情况下从我的tableview中删除此顶视图?

我放了一些截图来描述我的问题:

I want to change the size of topview or remove it completly

enter image description here

2 个答案:

答案 0 :(得分:1)

如果你把它放在tableview里面,它可能就是tableHeaderView。试试这个:

self.tableView.tableHeaderView = nil;

应删除视图并相应更新tableview。

答案 1 :(得分:1)

[self.tableview reloadData]

删除topview后,或者如果您使用自动布局,则可以使用[self.view updateConstraints];