iOS 7 中的UITableView顶部有一个空白区域,它的意义在哪里呢?

如下图,TableView顶部有一个空白区域,iOS 7里面特有的,能不能去掉它呢?它的意义在哪里?

请输入图片描述

阅读 46.8k
7 个回答

iOS 7 viewcontroller新增属性automaticallyAdjustsScrollViewInsets,即是否根据按所在界面的navigationbar与tabbar的高度,自动调整scrollview的 inset,设置为no,让它不要自动调整就可以了,个人感觉很二的一个东西,iOS 7的SDK开发者有点不按套路出牌啊,是因为iOS 换掉负责人的关系吗?

他的意义在于,让你以坐标 0,0 fullScreen 布局。这样才能透过导航栏的毛玻璃看出朦胧的感觉,,,朦朦胧胧,就像少女披了层纱,你说美不美。。。走题了, 7 的理念是突出内容,淡化 UI 。让你感觉你能看到的东西更多了。比如我就很讨厌现在还居然一堆 app 在那走卡片风格,不按 edge to edge 来,你空那么一道缝,它到底有啥用,浪费屏幕像素。

我觉得这并不是一个很二的东西,我感觉把那属性设为 NO 才是很二的事情,如果需要兼容 7 以下版本,这并不能让你的代码工作量减少多少,反而还会让 7 用户觉得你这界面太丑太 low ,根本不适配系统风格。

没用过XIB, 用代码创建时没有这个问题吧

用XCode 5的storyboard和xib都试了一下,没有重现这个问题。题主要不把源文件打包传上来看看。

UITableView的y是0,这块空白区域就刚好挡在NavigationBar的后边。

让你在滑动tableView的时候可以看到导航栏下面的内容。 同时, 开始的时候是从导航栏以下开始第一个cell. 不影响使用

edgesForExtendedLayout 是调整这个吧,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏