首页 文章

自定义视图嵌入导航栏

提问于
浏览
7

我正在尝试创建一个与日历应用程序中使用的Apple相似(并具有相同行为)的导航栏 . 特别是(见下图):


Starting navigation bar

Starting Navigation Bar


Ending navigation bar (推后)

Ending Navigation Bar


我试图继承UINavigationBar并覆盖 sizeThatFits(rect:CGrect) 方法 . 这将增加条形高度但是自定义视图的结果不正确,以及"pop/push"和按钮对齐之间的动画(按钮保持对齐而不是向上) . 这个解决方案似乎真是一团糟 .

您现在是一个更好的解决方案,在导航栏中嵌入自定义视图(具体如何在图像中表示),并使此视图也成为导航栏动画的一部分?

edit

我也发现这些古老的问题可能有用:Change iPhone navigation bar's heightChange UINavigationBar Height

你可以在GitHub上找到here的resizable-navigation-bar也很有用

Better solutions are welcome

1 回答

  • 8

    我可能会找到Apple提供的一个很好的解决方案来解决这个“问题” .

    HERE你可以找到一个关于如何定制 UINavigationBar 的示例代码,而不会过多地干扰方向,反向兼容等 .

    只需下载示例代码并查看扩展导航栏示例 .

    如果只有很少的单词,他们会创建一个附加到导航栏的自定义视图,看起来像导航栏本身 . Apple解释清楚:

    此示例演示如何将自定义视图放置在导航栏下方,使视图看起来是导航栏本身的一部分 . 此技术可用于创建类似于iOS日历应用程序的界面 .

    I still don't understand how to achieve the correct push animation with this solution 但它可能是一个很好的起点 . Anyway, this is NOT an embed view .

相关问题