2011-08-30 39 views
0

經過多個小時尋找工作視圖切換代碼後,我終於在YouTube上找到了a great tutorial。這正是我需要按下按鈕時切換視圖所需的。切換iPhone應用程序的視圖 - 這是正確的方式?

我只是想知道該視頻中使用的技術是否有效。所使用的代碼切換屏幕是

viewsViewController *second = [[viewsViewController alloc] initWithNibName:nil bundle:nil]; 
[self presentModalViewController:second animated:YES]; 

凡viewsViewController(或用於有任何類)是一類的UIViewController的子類。該類是通過單擊文件>新建文件>添加UIViewController子類來完成的。

此方法是否按照Apple指導原則?這種方法是否記憶友好?

我當然希望這項技術是有效的。所有其他的例子包含的信息太少,所以我不能讓這個例子工作。這是非常時尚的短代碼工作。

回答

0

這是一種方法。當您以模態方式呈現視圖控制器時,有一些期望視圖控制器將在某個時刻消失,並且用戶將返回到父視圖控制器。

另一種選擇是使用UINavigationController,您可以向其發送-pushViewController:animated:消息。

還有一種方法是當用戶點擊相應的選項卡時讓UITabBarController切換視圖控制器。

另外一個:你可以設置窗口的rootViewController屬性,此時窗口會將視圖控制器的視圖添加爲自己的子視圖。

您最好打賭是通讀View Controller Programming Guide for iOS

+0

感謝您的迴應傢伙。 – Rick

+0

當您在第一段中提到「期望」時。你是指對用戶或程序的期望嗎? 如果可能,我不想在頂部或底部顯示導航欄。我可以避免並仍然使用控制器嗎?我會看看我能否弄清楚。謝謝@caleb! – Rick

+0

@Rick:兩者。您通常以模態方式呈現視圖控制器以響應某些臨時情形:從用戶請求信息,插入信息,更改設置等。調用'-presentModalViewController:animated:'後,您最終會調用'-dismissModalViewController :動畫:'。閱讀更多[這裏](http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html)。是的,你絕對可以使用導航控制器,而不必在頂部顯示導航欄。 – Caleb

0

這是一種做法。注意一些問題。這兩種觀點都將在記憶中,如果它們的尺寸合理,這是可以的。模態視圖在父級之上動畫。

如果這是您的主要目標,您還可以使用其他模型進行簡單導航。我會建議看看UINavigationController,看看是否可以更好地滿足您的需求。這可能是瀏覽視圖最常用的方法,併爲視圖管理提供了許多基礎,爲您節省了大量的時間。

+0

我的應用程序將有超過20個不同的意見。在頂部和/或底部使用導航並不真正用戶友好和美觀。儘管在底部會有一個菜單,可以將用戶帶回到四個主屏幕中的一個。其餘的是通過每個視圖中的按鈕導航。 如果全部存儲在內存中,並且在用戶轉到另一個屏幕時沒有釋放,這似乎不是一個好的選擇。我無法釋放所有屏幕?或者釋放除根之外的所有東西?如有必要,我可以定義一個根屏幕。 – Rick

相關問題