【发布时间】:2012-04-11 04:30:09
【问题描述】:
UINavigationController 中toolbar 属性的文档说:
此属性包含对导航控制器管理的内置工具栏的引用。此工具栏的访问权仅提供给希望从工具栏中显示操作表的客户。您不应该直接修改 UIToolbar 对象。
我可以理解为什么我不应该修改工具栏的可见性或项目,因为 UINavigationController 提供了一个接口来做到这一点。但是我添加了一个按钮,当点击该按钮时,工具栏会在屏幕外显示动画。为什么我不应该这样做?
我是否必须创建自己的 ToolbarNavigationController 类来复制 UINavigationController 对工具栏所做的一切只是草皮,我可以用工具栏做我想做的事吗?当 UINavigationController 已经做了我想要的事情时,这似乎是一种浪费。为什么文档会建议我如此严格地限制我用它做的事情?
【问题讨论】:
-
UINavigationController 对其暴露的属性是出了名的挑剔。我认为你不可能在这里找到一个不是猜测的好答案。
-
@CodaFi 虽然这不会让我感到惊讶,但它并没有提供太多的满足感。 :-(谁知道呢,也许真的有人知道!
-
如果您可以访问并修改上述工具栏,您会怎么做? (PS,SO 上可能有一些不公开的苹果员工知道这方面的知识,但我认为他们不会轻易放弃它;p)。
-
坦率地说,我所做的只是在屏幕外设置动画。就是这样。我有一个按钮,当点击它时,将工具栏移出屏幕,然后移动另一个工具栏。不同的工具栏代表不同的模式。我真的认为在这种情况下没有人会反对。只是文档中的评论让我停下来。
标签: ios cocoa-touch uinavigationcontroller uitoolbar