我用一個叫做Drawing的drawRect定義了一個自定義類。我已經在我的NIB中佈置了包含具有繪圖子視圖的NSScrollView的視圖。當我啓動程序時,屏幕是空白的。有趣的是,當我以編程方式爲NSScrollView創建documentView時,我在滾動視圖中得到一個圖像。當我在我的setDocumentView中使用nib實例時,我什麼都沒有。界面生成器NSScrollView不能用IB定義查看
因此,如果圖紙視圖在IB設置,
[_scrollViewWorkspace setDocumentView:_drawing]; //does not work.
但
[_scrollViewWorkspace setDocumentView:[[Drawing alloc] initWithFrame:NSMakeRect(0,0,[[_scrollViewWorkspace documentView ]bounds].size.width, [[_scrollViewWorkspace documentView] bounds ].size.height)]];
的偉大工程!
爲什麼我不能靜態綁定NIB中的繪圖對象?
我將代碼添加到類中。沒有任何反應,沒有任何記錄。我在ApplicationDidFinishLaunching中設置文檔視圖。我爲initWithFrame放置了一個存根,並在那裏記錄我的NSLog的輸出。我不認爲initWithCoder是正確的答案。它沒有告訴我爲什麼靜態綁定到IB中的視圖被忽略,但同一個類的[alloc] init]在代碼中工作。 – bc888
即使我在設置documentView之前調用了Drawing中的drawRect。我在ApplicationDidFinishLaunching中設置視圖後再也不會調用它。 – bc888