Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ipad 带有自定义垂直按钮栏的UINavigationController_Ipad_Ios_Uiviewcontroller_Uinavigationcontroller - Fatal编程技术网

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

Ipad 带有自定义垂直按钮栏的UINavigationController,ipad,ios,uiviewcontroller,uinavigationcontroller,Ipad,Ios,Uiviewcontroller,Uinavigationcontroller,我需要实现一个基于导航的应用程序,带有一个定制的按钮栏,保持屏幕的垂直大小,类似于里德iPad应用程序(请参阅)。 实现这一结果的最佳方式是什么?我曾考虑将该条添加为UINavigationController的子视图,并通过我的按钮条视图控制器中的parentViewController引用调用其方法(如pushViewController:animated:),但这似乎有点复杂。可能可行,但危险:在UINavigationBar的CALayer对象上设置变换。将条旋转“-1*M_PI_2”的

我需要实现一个基于导航的应用程序,带有一个定制的按钮栏,保持屏幕的垂直大小,类似于里德iPad应用程序(请参阅)。
实现这一结果的最佳方式是什么?我曾考虑将该条添加为UINavigationController的子视图,并通过我的按钮条视图控制器中的parentViewController引用调用其方法(如pushViewController:animated:),但这似乎有点复杂。

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

当然可以,但需要付出更多的努力:渲染自定义导航栏,从UINavigationController实现委托协议,倾听导航的变化,并在回调中实现自己的动画

(我使用了后一种方法来提供定制的UINavigationBars——它工作得很好)

后一种方法的唯一警告是,动画可能会暂停/延迟,因为默认情况下它们会等待对方完成。如果查看UIView动画,有一个设置显示“立即播放,即使其他动画正在进行”,您可能需要将其设置为
YES