为什么额外的空间在UITableView的顶部 - 简单

tim*_*one 34 ios

我正在接受一些iOS编程,并试图将UITableView放入故事板.不幸的是,我试图将内容放在视图的顶部,但它正在放置一些空间.我试图在视图 - >模式的检查器中调整值,但这似乎没有任何影响.

我已将背景设为绿色并使用边框颜色来显示问题.我不是一个成熟的iOS开发者,所以我认为这是最简单的解决方案而不是复杂的东西.如何使表格视图的内容与顶部齐平?我已经看到了这个为什么我的UITableView顶部有额外的填充,iOS7中的样式为UITableViewStyleGrouped,但不确定它是否相关.

thx任何帮助

在此输入图像描述


编辑#1

更新了此表视图的属性的更改和屏幕截图

在此输入图像描述

在此输入图像描述

在此输入图像描述

Lyn*_*ott 61

是的,那个问题非常相关.UITableViewStyleGrouped通过插入额外的填充来将每个部分划分为"组"...类似于iOS7之前的部分,但默认情况下是清除而不是彩色,而只是在顶部而不是一直到处.如果您不想默认填充,请使用UITableViewStylePlain.

否则,如果您需要保持样式相同,请执行此链接推荐的其他内容并更改内容插入:

self.tableView.contentInset = UIEdgeInsetsMake(-36, 0, 0, 0);
Run Code Online (Sandbox Code Playgroud)

或者做这张海报建议,并设置tableHeaderViewheight.-1,即近0:

self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)];
Run Code Online (Sandbox Code Playgroud)

  • 最好用'CGFLOAT_MIN`替换神奇的数字`0.01f`,如相关帖子所示. (4认同)

Muh*_*aab 58

通过在Storyboard中选择xib或控制器,转到View Controller的属性检查器.取消选中调整滚动查看插图布局.它将解决问题在此输入图像描述

  • 要以编程方式设置它,`self.automaticallyAdjustsScrollViewInsets = NO;`在`viewDidLoad`方法中. (11认同)

Rao*_*Rao 6

在Swift中,您只需将below属性设置为false即可.

self.automaticallyAdjustsScrollViewInsets = false
Run Code Online (Sandbox Code Playgroud)


Sir*_*ton 6

每个人都在谈论这个self.automaticallyAdjustsScrollViewInsets选项。
但是,这根本不适合我。对我有用的是将“ Content Insets”属性设置为Never

展示在哪里可以找到设置的屏幕截图

如此烦人的问题。


Moh*_*shi 5

它非常简单,非常适合我.在故事板中选择一个放置UITableView的控制器.

YouStoryboard.storyboard> YouViewController>属性检查器>取消选中 - 调整滚动视图插入.

确保选择UIViewController而不是UITableView.