0代码隐藏GroupedTableView上边多余的间隔
来源:blog.sunnyxx.com/2015/04/15/…
实现诸如支付宝的 “探索” 页面时,最简单的方案是在 Storyboard 中来一个静态 Grouped UITableViewController,把各个 Cell 中的元素摆好就行了
不过会有下面的问题,第一个 Section 距离屏幕顶端有间隔
一行代码搞定
研究发现,这里其实是一个被 UITableView 默认填充的 HeaderView。而且,当试图将它的高度设置为 0 时,完全不起效果。但我们用下面的代码创建一个高度特别小的 HeaderView 时,上面的边距就不见了:
CGFLOAT_MIN这个宏表示 CGFloat 能代表的最接近 0 的浮点数,64 位下大概是 0.00(300左右个)0225 这个样子
这样写单纯的为了避免一个魔法数字,这里用0.1效果是一样的,后面再讲。
在 Storyboard 中 0 代码搞定
没用 Storyboard 的同学使用上面的代码就 OK 了; 而在 Storyboard 中可以 0 代码搞定这个事:
首先,在第一个 Section 的上面拖进来一个空 UIView
然后选中这个 UIView 的 Runtime Attributes 栏,添加一个frame的 KeyPath
这样头部的间隔就乖乖的不见了:
刨根问底 UITableViewHeader 的猫腻
为什么刚才说 0.1 和 CGFLOAT_MIN 是等效的呢?经过研究,这个高度值的影响大概是这样的:
若传入的 height == 0,则 height 被设置成默认值
若 height 小于屏幕半像素对应的高度,这个 header 不在另一个像素渲染
半像素也就是1.0 / scale / 2.0,如在 @2x 屏上是 0.25
直观的感受下,假如这个 height 被设置成 0.5 的样子:
身患强迫症的我是绝对不能容忍导航栏下面的阴影线看上去宽了 0.5 像素的,Done。
转载于:https://juejin.im/post/5a30f73f51882503eb4b4684
0代码隐藏GroupedTableView上边多余的间隔相关推荐
- ASP.NET 2.0 中的代码隐藏和编译
ASP.NET 2.0 中的代码隐藏和编译 Fritz Onion 本页内容 代码隐藏 编译 程序集生成 小结 当我撰写本专栏的时候,Microsoft® .NET Framework 2. ...
- 打造0代码全自动GridView-天具神力
20071015(新增单选列) 20071017更新(新增客户端设置列宽度) 20071021更新(新增自定义分页功能) 20071017更新(新增多选列DataKey支持) 20071105更新(修 ...
- Transformer学习总结附TF2.0代码实现
Transformer学习总结附TF2.0代码实现 Transformer 1.Transformer详解 1.1 transformer总体架构 1.2 输入部分 1.3 Multi-Head At ...
- 这六段代码隐藏着深度学习的前世今生!
这六段代码隐藏着深度学习的前世今生! 本文作者:晞萌 编辑:郭奕欣 2017-10-10 14:36 导语:六段代码解释了深度学习的前世今生,覆盖了深度学习几十年来的重大创新和突破. 雷锋网AI科技评 ...
- linux qt应用程序全屏,QT在ubuntu下实现界面全屏,侧边栏隐藏,上边栏隐藏【实例】...
最近做一个Qt项目(ubuntu 14.04),需要将界面全屏,全屏之后,ubuntu侧边栏隐藏,上边栏也隐藏,只显示Qt的界面. 那么先介绍几个函数: Qt全屏显示函数:showFullScreen ...
- 什么方式可以通过影子系统传播恶意代码_将恶意代码隐藏在图像中:揭秘恶意软件使用的隐写术...
概述 本周,许多Facebook用户都会发现,一些用户发布图片上出现了原本应该隐藏的图像标签.由此可以证明,图像可以携带大量表面上不可见的数据.实际上,Facebook和Instagram所使用的图片 ...
- 用RtlAdjustPrivilege来调整进程权限(VB6.0代码)
论坛上有朋友说起RtlAdjustPrivilege这个函数,就查了一下,写了个声明与调用示例出来,方便下次调用. 程序代码 Option Explicit Private Declare Funct ...
- VB6监视/操作剪贴板示例(VB6.0代码)
剪贴板的监视,需要先使用SetClipboardViewer设置某个句柄为剪贴板查看器的一员. 然后当剪贴板发生改变时,系统就会向这个句柄发送WM_DRAWCLIPBOARD消息. 只要使用子类化拦截 ...
- WPF基础之XAML----(XAML 根元素和 xmlns,事件和 XAML 代码隐藏)
XAML 根元素和 xmlns 一个 XAML 文件只能有一个根元素,这样才能成为格式正确的 XML 文件和有效的 XAML 文件.通常,应选择属于应用程序模型一部分的元素(例如,为页面选择 Wind ...
最新文章
- iPhoneX快速适配,简单到你想哭。
- java安装_快速提示:Java中的ISO 8601持续时间
- 送给同事的5个新年计划
- java 类对象可以调用静态方法吗
- docker 安装入门
- NB-IOT(4)---移远NB-IOT BC26模块模组简介和实际应用方向详解
- 【论文写作】毕业论文写作套路之参考文献
- 通过python获取Arduino雨滴传感器模块的数据(PyMata3+MySQL)
- 修改数据库密码的多种方法
- android webview浏览pdf,android webview pdf查看
- impalahive大数据平台数据血缘与数据地图(四)-impala血缘架构图及功能介绍
- 1317_使用pyserial通过python读取串口数据显示的同时记录log文件
- 1个英文字母、1个汉字、标点符号各占几个字节
- 华为机试OD真题 javaScript和java 叠积木 堆积木
- Windows命令行解决8080端口被占用
- 第五人格服务器维护中怎么进游戏,第五人格游戏进不去黑屏怎么解决 第五人格游戏进不去黑屏解决攻略...
- 一款利用PIN管设计的可调衰减器
- 2021年多媒体技术圈年终事件大回顾
- CODE CHINA
- 三人行网络教育计算机二,三人行老师电脑版