2011-02-28 61 views
2

我有一个UINavigationController应用程序。我想在UINavigationBar的下方添加一个小的条,大约20px的高度。 y应用程序几乎已经完成,所以我想尽可能少地重建代码。例如,如果我想在应用程序的每个视图的底部添加一个按钮,我可以通过扩展带有类别的UIViewController并添加一个UIButton作为当前控制器视图的子视图,也许可以在viewDidLoad方法中实现。如何以编程方式将breadcrumb视图添加到我的UINavigationController应用程序?

此方法工作正常,所以我可以将我的UILabel添加到他们顶部的所有视图中。问题是它不占用空间。它总是在我之前的视图之上(UITableView ...)。完成这样的事情的最好方式(或者只是一种方式),而不必创建例如2帧的视图,并让我的所有主视图扩展它?

我想改变UINavigationBar的高度,但这绝对不是一个选项。UINabivationBar的提示属性只是大(约30px)。

我也尝试在每个UIViewController的viewWillAppear方法中创建一个新的视图,添加到该视图的breadcrumb子视图和原始视图,但它不工作。

对此的任何想法?

谢谢!

+0

不是您的问题的答案,但您知道:UINavigationController上的Apple文档警告不要尝试将面包屑控件添加到UINavigationController栏中,因为如果您需要呈现复杂的信息,“您的应用程序可能太复杂,应该简化”(释义)。我知道你并没有试图向导航控制器本身添加面包屑,但复杂性的论点仍然相关。 – occulus 2011-02-28 23:41:42

回答

0

如果我是你,我会创建一个新的UIView子类来表示这个东西,并将它嵌入到各个UIViewControllers的视图中。他们可以通过查看UINavigationController的.navigationControllers数组,获取视图标题等来获取导航堆栈。

+0

是的,这就是我正在做的。但问题是,如果我将这个视图嵌入到UIViewControllers的视图中,它不会占用空间。您是否建议我修改每个nib文件以添加此面包屑视图?感谢您这么快速回复btw。 – LocoMike 2011-02-28 19:13:15

+0

嗯,是的,我的意思是,除非你告诉它,否则一种观点不会滑出另一种观点。你可以在IB或代码中做到这一点,但无论如何,你必须将你的一件事从另一件事情中移出来。这不像制作一个网页,其中的东西只是颠倒了页面。你实际上必须摆脱困境。 – 2011-02-28 19:43:06

+0

嘿丹,是的,我知道这不是一个盒子模型。我知道如何移动视图,例如框架属性。问题是,当一个视图有一个NavigationController Invververd,与他的NavigationBar,它不再是一个视图,它成为一个UILayoutContainerView,这是一个非文档的ios类,并触及其框架导致恶梦...我想我会必须做到这一点,并改变我所有的课程! aaarg! – LocoMike 2011-02-28 19:58:48

相关问题