【发布时间】:2015-10-22 22:59:44
【问题描述】:
我正在尝试创建一个导航栏,看起来与日历应用中使用的 Apple 导航栏相似(并且行为相同)。 特别是(见下图):
开始导航栏
结束导航栏(推送后)
我试图继承 UINavigationBar 并覆盖 sizeThatFits(rect:CGrect)method。这将增加条形高度,但自定义视图的结果不正确,以及“弹出/推送”和按钮对齐之间的动画(按钮保持向下而不是向上对齐)。该解决方案似乎是一团糟。
您现在是否有更好的解决方案来在导航栏中嵌入自定义视图(确切地说是如何在图像中表示)并使该视图也成为导航栏动画的一部分?
编辑
我还发现这些老问题可能有用: Change iPhone navigation bar's height, Change UINavigationBar Height,
您可以在 GitHub 上找到 here 的 resizable-navigation-bar 也很有用
欢迎提供更好的解决方案
【问题讨论】:
-
这似乎是 question:stackoverflow.com/questions/892905/… 的副本,它是 question:stackoverflow.com/questions/892905/… 的副本。这两个都应该回答你的问题,即使在细节上这个答案:stackoverflow.com/a/7533098/849616。另外,您为什么不在navigationBar 下方添加一个工具栏..?它应该看起来相似。
-
是的,我已经看到了这个问题,但是它们太老了,我想在此期间可能会有所改变。于是我又问了一遍。 :)
-
那么你至少应该链接那个问题,因为它现在只是一个重复。第一个问题已更新到 iOS 7,所以我认为它仍然有效。你读过我上面链接的那个答案吗?里面有教程。无论如何,我只想添加一个工具栏。在您的情况下,它看起来会非常好。请记住,在未来的 iOS 版本中,对 UIKit 中的任何内容进行黑客攻击都会导致不良后果。苹果表示导航栏有这样的高度,你应该坚持下去,否则这个解决方案可能会在未来的 iOS 版本中被打破。
-
你是对的。我会更新问题。
标签: ios objective-c cocoa-touch