如果您不需要返回到登錄頁面,請使用視圖控制器訪問登錄頁面,並在應用程序啓動時通過導航控制器以模態方式呈現它。
所以你確實想回到登陸頁面。
用UINavigationController很難做到這一點。假設你正在回到登陸視圖。在轉換過程中,舊視圖應該有導航欄,新視圖(着陸頁)不應該有導航欄。 UINavigationController不允許您手動修改過渡動畫。換句話說,您不能使用推/動畫動畫來隱藏/取消隱藏導航欄(使用viewWillAppear
不能解決問題)。
那麼,如果我真的需要這個,我該怎麼辦?
我會有一個rootViewController(的UIViewController),其視圖是您的應用程序窗口的唯一子視圖。當您的應用程序啓動時,rootViewController添加登陸視圖作爲其視圖的子視圖。當用戶在那裏選擇一個項目時,您將創建一個UINavigationController,並將相應的視圖控制器作爲其根視圖控制器。
而且,使用類型爲kCATransitionPush和kCATransitionFromRight子類型的CATransition動畫,將導航控制器的視圖添加爲rootViewController視圖的子視圖。
然後,您需要導航控制器第一個視圖的「後退」按鈕。在作爲導航控制器的第一級視圖控制器的所有視圖控制器中,創建一個帶有文本「後退」的欄按鈕項,並將其添加到其navigationItem.leftBarButton屬性中。爲按鈕設置一個目標動作(可能是rootViewController)對。
當動作消息觸發時,使用CATransition動畫(現在使用kCATransitionFromLeft子類型),從rootViewController的視圖中刪除當前導航控制器的視圖。
轉換可能看起來不如原生UINavigationController完美,但我相信這是最好的你可以得到。
來源
2011-02-18 19:16:50
MHC
我確實想回到主着陸頁,因爲它的作用作爲主菜單。但我不希望導航欄顯示,我不想隱藏它,因爲它再次出現,因爲它隱藏時看起來很有趣。 – Arcadian 2011-02-18 19:30:37