我通过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;
工作很好。 :)
答案 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参数的方法,以缩小或增大它。