我正在尝试创建一个与日历应用中使用的Apple相似(并具有相同行为)的导航栏。 特别是(见下图):
启动导航栏
结束导航栏(推送后)
我试图继承UINavigationBar并覆盖sizeThatFits(rect:CGrect)
方法。这将增加条形高度但是自定义视图的结果不正确,以及" pop / push"之间的动画。和按钮对齐(按钮保持对齐而不是向上)。这个解决方案似乎真是一团糟。
现在,您是否有更好的解决方案在导航栏中嵌入自定义视图(具体如何在图像中表示)并使此视图也成为导航栏动画的一部分?
修改
我也发现这些可能有用的旧问题: Change iPhone navigation bar's height, Change UINavigationBar Height,
您可以在GitHub上找到here的 resizable-navigation-bar 非常有用
欢迎提供更好的解决方案
答案 0 :(得分:8)
我可能会找到Apple提供的一个很好的解决方案来解决这个问题"。
HERE您可以找到有关如何自定义UINavigationBar
的示例代码,而不会过多地干扰方向,反向兼容等。
只需下载示例代码,然后参阅 Extended Navbar 示例。
如果没有单词,他们会创建一个附加到导航栏的自定义视图,该视图看起来像导航栏本身。 Apple明确解释道:
此示例演示如何将自定义视图放置在导航栏下方,使视图显示为导航栏本身的一部分。此技术可用于创建类似于iOS日历应用程序的界面。
我仍然不了解如何使用此解决方案实现正确的推送动画,但这可能是一个很好的起点。 无论如何,这不是嵌入式视图。