作者:zulaka_208 | 来源:互联网 | 2023-02-11 19:04
我为iOS 8制作了一个应用程序,它使用分组UITableView
作为其中一个页面.其中有多个部分使用CGFloat.leastNormalMagnitude
(或CGFloat.min
在Swift 2及以下版本中)用于剖面页眉和页脚高度以删除"默认"空间.一切顺利,直到应用程序在iOS 9和10中运行,它崩溃了这个错误:
由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'section header height不能为负 - 提供的第0部分的高度为-0.00000'
不知何故,1
除了舍入之外的任何值0
都被视为否定 - 并且使用1
返回值将使页眉/页脚空间再次出现.
有没有解决方法来解决这个问题?
提前致谢.
1> edopelawi..:
我已经尝试了几个值tableView(_:heightForHeaderInSection:)
,并发现:
leastNormalMagnitude
并且leastNonzeroMagnitude
将被视为负(因此崩溃).
零将使TableView返回默认高度作为页眉/页脚.
零和一之间的任何东西都将被视为减号.
一个将使TableView返回默认高度.
任何多于一个(例如1.1)都会将页眉/页脚设置为实际高度.
我最终1.1
用来解决我的问题.
希望这能帮助那里的人!
这只是可悲的行为。