2011-07-20 79 views
2

我有一個問題,我做一些iPhone應用程序,現在我想做一個小的Mac應用程序。第一個mac應用程序 - 推視圖控制器

從一個乾淨的應用程序,我在MainMenu xib上添加一個按鈕,比用一個Action添加一個NSViewController給MainMenu(來自IB)。 我用一個nib文件和一個按鈕創建一個新的NSViewController(FirstViewController)。 現在我只想創建一個從MainMenu推送FirstController的函數和一個從FirstController推送MainMenu的簡單函數。

像這樣

ViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]]; 
[self.navigationController pushViewController: ViewController animated:YES]; 

我怎樣才能做到這一點???

回答

3

我認爲你正在嘗試將iOS風格的界面帶到MacOS X,而這在許多情況下都不起作用。 MacOS X用戶界面與iOS非常不同。

iOS應用程序僅限於一個(通常很小)的窗口,用戶通常一次只做一件事。導航界面標準化了用戶鑽取任務不同部分的方式,以便旅程是可預測的。該界面非常模式化,因爲用戶始終在應用程序的不同部分之間進行導航,而用戶操作通常與活動應用程序的部分相關聯。

另一方面,桌面有足夠的屏幕空間並允許多個窗口。桌面應用程序應該是modeless--用戶不會瀏覽應用程序,但會看到他或她之前展示的所有內容。儘可能地,用戶應該能夠隨時執行任何操作。

由於這些原因,Cocoa中沒有類似於Cocoa Touch的UINavigationController的導航控制器。如果您可以告訴我們更多關於您的兩個視圖控制器管理的任務,也許這裏的某個人可以幫助您考慮如何更好地將其轉化爲預期的桌面體驗。

+1

非常感謝你,我理解了一些東西。我的問題很簡單,兩個控制器都是空的,我只想從一個控制器傳遞到第二個控制器,反之亦然...... :) – kikko088

0

Here蘋果討論了將iOS遷移到OS X策略。您的場景也在這裏討論:

例如,AppKit使用NSBrowser類來管理 分層信息的顯示;相比之下,一個iOS應用程序將使用導航 控制器。

而NS瀏覽器可以看到在使用here與輸出如附圖所示。

enter image description here

相關問題