由于使用分组样式的表视图设计在iOS 7中发生了很大变化,我想隐藏(或删除)第一个节头.到目前为止,我还没有成功实现它.
有点简化,我的代码看起来像这样:
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 0)
return 0.0f;
return 32.0f;
}
- (UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if (section == 0) {
UIView* view = [[UIView alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 640.0f, 0.0f)];
return view;
}
return nil;
}
- (NSString*) tableView:(UITableView *) tableView titleForHeaderInSection:(NSInteger)section
{
if (section == 0) {
return nil;
} else {
// return some string here ...
}
}
Run Code Online (Sandbox Code Playgroud)
如果我返回0的高度,则永远不会使用截面索引0调用其他两个方法.但仍然使用默认高度绘制空截面标题.(在iOS 6中,调用了两种方法.但是,可见结果是相同的.)
如果我返回不同的值,则节标题将获得指定的高度.
如果我返回0.01,那几乎是正确的.但是,当我在模拟器中打开"颜色未对齐图像"时,它会标记所有表格视图单元格(这似乎是一个逻辑结果).
问题UITableView:从空部分隐藏标题的答案似乎表明有些人成功隐藏了部分标题.但它可能适用于普通样式(而不是分组样式).
到目前为止,最好的折衷方案是返回高度0.5,导致导航栏下方的线条稍微粗一些.但是,如果有人知道如何完全隐藏第一部分标题,我将不胜感激.
更新
根据 …
我检查了所有这些 UITableView,让页脚停留在屏幕的底部?
iOS - viewForFooterInSection坚持UITableView的底部
类似的问题,但不幸的是我的问题没有解决.
我必须使用里面的按钮实现自定义页眉和页脚视图.我用.nib文件创建了单独的UIView的子类.在我的视图控制器中,我正在调用这些方法来为页眉和页脚视图注册nib.
- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
CustomTableHeaderView *view = [CustomTableHeaderView header];
view.delegate = self; //setting delegate to receive callbacks as the buttons inside the view are pressed
return view;
}
- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
CustomTableFooterView *view = [CustomTableFooterView footer];
view.delegate = self;
return view;
}
Run Code Online (Sandbox Code Playgroud)
自定义视图中的类方法注册.nib文件并返回视图的位置.然而,实施是;
+ (CustomTableHeaderView*)header
{
return [[[NSBundle mainBundle]loadNibNamed:@"CustomTableHeaderView" owner:nil options:nil]objectAtIndex:0];
}
Run Code Online (Sandbox Code Playgroud)
页脚的类似实现.
问题是当表格视图滚动时,页脚视图不会锁定在底部.也就是说,当视图内部有更多行时,页脚视图会隐藏,并在所有行向下滚动直到结束时显示.我想锁定视图底部的页脚视图,无论有多少行可以滚动.标题视图已完全由此实现实现,因为在滚动行时它被锁定在顶部,但页脚视图随行滚动.
我也试过了self.tableview.tablefooterview属性,但它也没有帮助.