2011-05-10 87 views
0

我正在寫一個核心數據,基於文檔的應用程序。我正在嘗試將文檔的窗口居中。我已經從窗口控制器的awakeFromNib方法和窗口控制器的showWindows方法中嘗試從文檔的makeWindowControllers方法中調用以下代碼。我一直在爲myWindow得到一個零結果。有任何想法嗎?謝謝。居中文檔窗口

NSWindow *myWindow = [myWindowController window]; 
[myWindow center]; 

回答

1

一個常見原因爲-window返回nil是不具有設置在筆尖文件中相應的插座。

確保nib文件的所有者是您的NSWindowController子類,並且其window插口已鏈接到窗口對象。

+0

而這個問題與居中窗口無關;你沒有一箇中心窗口。可能有一個窗口是你想要居中的地方,但是你沒有加載它,或者你沒有連接到它的插座。 – 2011-05-10 06:58:41

+0

謝謝你的答案。我是Cocoa的新手,我傾向於錯過這些細節。我認爲網點只適用於需要直接訪問UI元素的網點。 – 2011-05-11 03:36:00

+0

@Scott這是真的一般。不過,像「NSWindowController」和「NSViewController」這樣的類需要您在對nib文件進行操作時設置窗口/視圖出口。你可以說網點需要設置,因爲這些類需要代碼,即使你的代碼可能不直接使用它們。 – 2011-05-11 03:40:09