2010-12-03 57 views
3

我需要實現一個基於導航的應用程序,該應用程序具有與Reeder iPad應用程序(請參閱Reeder screenshot)類似的保留在屏幕垂直尺寸上的自定義按鈕欄。 實現這一結果的最佳方式是什麼?我想添加欄作爲UINavigationController的子視圖,並通過我的按鈕欄視圖控制器中的parentViewController引用調用其方法(如pushViewController:animated :),但似乎有些複雜。帶有自定義垂直按鈕欄的UINavigationController

回答

0

可能工作,但很危險:在UINavigationBar的CALayer對象上設置一個轉換。通過「-1 * M_PI_2」旋轉條的轉換幾乎是正確的,您可能還需要將它轉換爲幾個像素,才能獲得正確的位置。

絕對有效,但更多的努力:渲染自定義導航欄,從UINavigationController實現委託協議,並監聽導航切換,並在回調中實現自己的動畫。

(我已經做了後一種方法提供自定義UINavigationBars - 它工作正常)

用後一種方法唯一需要注意的是,因爲在默認情況下,他們等待對方來完成你的動畫可能會暫停/延遲。如果你看UIView動畫,有一個設置說「立即播放,即使其他動畫正在進行」,你可能需要設置爲YES