我有一个带有自定义iOS导航栏的应用程序,我正在通过子类化UIView
从头开始构建它。
我希望导航从顶部安全区域或顶部状态栏下方(取决于我们正在讨论的iOS版本和设备)延伸特定数量的像素。我还需要它一直延伸到屏幕的顶部,无论设备如何,因为导航栏是半透明的,并且应该在其下滚动内容。这意味着内容似乎在状态栏和安全区域下滚动。
我已经成功构建了一个没有硬编码值的动态版本,除了状态栏为20px的知识。它非常复杂,容易破裂。它还要求我在layoutSubviews
中进行大量调整,就像知道安全区域的大小一样。
一个更简单的解决方案是检测设备类型并根据它来硬编码高度,但感觉不对。硬编码方法的缺点是什么?