带有自定义垂直按钮栏的UINavigationController

时间:2010-12-03 13:49:54

标签: ipad ios uiviewcontroller uinavigationcontroller

我需要实现一个基于导航的应用程序,其自定义按钮栏保持在屏幕的垂直尺寸,类似于Reeder iPad应用程序(请参阅Reeder screenshot)。 实现这一结果的最佳方法是什么?我想添加吧作为UINavigationController的子视图,并通过我的按钮栏视图控制器的parentViewController引用调用它的方法(如pushViewController:animated :),但似乎有点复杂。

1 个答案:

答案 0 :(得分:0)

可能工作但危险:在UINavigationBar的CALayer对象上设置转换。将条形旋转“-1 * M_PI_2”的变换几乎是正确的,您可能需要将其平移几个像素,以使位置正确。

绝对有效,但需要付出更多努力:渲染自定义导航栏,从UINavigationController实现委托协议,并聆听导航更改,并在回调中实现自己的动画。

(我已经完成了后一种方法来提供自定义UINavigationBars - 它工作正常)

后一种方法唯一需要注意的是,您的动画可能暂停/延迟,因为默认情况下它们会等待彼此完成。如果您查看UIView动画,则会出现“立即播放,即使其他动画正在进行中”的设置,您可能需要将其设置为YES