如何绘制通过故事板添加的TableHeaderView?

时间:2013-10-17 22:39:31

标签: ios objective-c uitableview storyboard

我通过Storyboard添加了一个UITableHeaderView - 只需将视图拖放到UITableView的顶部,然后将@property添加到class.h(Xcode 5)。我想使用该表头来获取进度信息。因此我使用

       self.tableView.tableHeaderView = nil;

在没有进展时隐藏标题。

当我想显示tableHeaderView:

       self.tableView.tableHeaderView = self.myHeaderView;
       [self.tableView reloadData]

但遗憾的是headerView不会出现。 我做错了什么?

谢谢你的帮助。

更新

我找到了解决问题的方法。 我为该视图创建了一个* .nib文件,并为我的类添加了一个函数

      - (void)showView{ ... }

我而不是我的观点

     UIView *view[[MyView alloc] initWithFrame:CGRectMake(0,0,CGRectGetWidth(self.view.frame), 50.0)];

并设置我的tableHeaderView

      self.tableView.tableHeaderView = view;

工作很好。 :)

1 个答案:

答案 0 :(得分:0)

我发现将tableHeaderView Height设置为0对我来说可以获得同样的功能。

CGRect newFrame = self.tableView.tableHeaderView.frame;
yourSavedHeight = newFrame.size.height;
newFrame.size.height = 0;
self.tableView.tableHeaderView.frame = newFrame;

然后当你想要它回来时

CGRect newFrame = self.tableView.tableHeaderView.frame;
yourSavedHeight = newFrame.size.height;
newFrame.size.height = yourSavedHeight;
self.tableView.tableHeaderView.frame = newFrame;

或者您可以将上述两者合并为一个带有BOOL参数的方法,以缩小或增大它。