2011-11-22 59 views
2

如果我創建的WinForms/QT/GTK應用程序我使用所謂的「佈局管理器」(或「幾何經理人」)根據內部部件和我的指示文本自動佈局我的UI。例如,如果我佈置一個窗口大編輯字段和下面的2個按鈕它對齊我寫下面的代碼「創建一個窗口與垂直佈局管理器。添加編輯部件作爲第一項和水平佈局管理器作爲第二項對於水平佈局管理器添加spacer作爲第一項,按鈕作爲第二項,按鈕作爲第三項「。我的窗口將根據按鈕標籤和編輯字段大小自動調整大小。另外,如果我調整我的窗口大小,所有項目將自動調整大小。Cocoa的任何佈局/幾何管理?

是它像佈局管理器爲OSX?我發現NSView可以添加到層次結構中,但我找不到任何方法來指示父級NSView,例如「垂直排列子級NSViews」。

回答

4

你應該在OS X 10.7瞭解Cocoa Auto Layout,新。

+0

我在10.7之前是否正確,沒有佈局/ geomatry管理?調整窗口大小的每個項目的絕對座標和手動調整大小? O_O – grigoryvp

+0

號公報[面罩自動調整大小(http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CocoaViewsGuide/WorkingWithAViewHierarchy/WorkingWithAViewHierarchy.html#//apple_ref/doc/uid/TP40002978-CH4-SW12 )自10.0以來一直在那裏,但他們不那麼靈活。還有[佈局管理器]的概念(http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/Layout.html#//apple_ref/doc/uid/TP40006084- SW1)用於Core Animation圖層。 –