2014-02-24 81 views
4

只要我在滾動視圖中嵌入我的自定義NSView,我的自定義視圖中就沒有畫任何東西。簡單地在NSScrollView中嵌入自定義的NSView會導致它被終止

爲了複製這個問題,我創建了一個香草可可應用程序。我分類了NSView,和它的drawRect處理程序,我做了一些簡單的像紅色fillRect。我確認此按預期工作:

- (void)drawRect:(NSRect)dirtyRect 
{ 
    [super drawRect:dirtyRect]; 

    [[NSColor redColor] set]; 
    [NSBezierPath fillRect:dirtyRect]; 
    // Drawing code here. 
} 

返回IB,我點擊我的自定義視圖,然後進入菜單編輯>嵌入>滾動查看

在我看來,不再有一個紅色的矩形。我已驗證我的drawRect不再被調用。

什麼給?

我想我會碰到一個解決方案here,但它沒有任何幫助。

看起來很簡單。

運行Xcode 5.0.2 & OS10.9.1。

回答

5

固定......我不得不這樣的事情添加到我的自定義視圖:

- (NSSize)intrinsicContentSize 
{ 
    return NSMakeSize(960,540); 
} 
2

這也適用於使用斯威夫特(使用即興大尺寸)的Xcode 6 BETA4(10.9.4)

func intrinsicContentSize() ->NSSize { 
    return NSMakeSize(2000,2000) 
} 
相關問題