2013-07-16 95 views
4

出現我已經子類NSView,我把它添加到另一個這樣的觀點:的子類的NSView不是在自定義視圖

clockT = [[CustomView alloc]initWithFrame:NSMakeRect(0, 0, 156, 155)]; 
[holderView addSubview:clockT]; 
[clockT setNeedsDisplay:YES]; 
clockT.tZone = @"Canada/Yukon"; 

創建視圖,並添加到holderView但不可見。在調整窗口大小時可以看到它。 注:我正在使用透明窗口。

+0

您的看法可能需要一個圖層... – Mikael

+1

顯示更多的HolderView和customView ...你是否重寫/什麼是你的init或drawRect –

+1

也注意命名:不要用大寫字母開頭變量名 –

回答

1

因此,您使用的是透明視圖,其他人不可見。創建完整大小的窗口並創建對象並顯示,以增加holderview的寬度。

2

Apple Developer Site上有一個示例應用程序可以幫助你。本示例演示如何創建具有自定義形狀,無標題欄和透明內容的窗口。

+0

已經使用了這樣的類! –

1

沒有看到更多的代碼,很難說出發生了什麼。此線程有一些建議,可能會幫助你:https://stackoverflow.com/a/1503828/171933

難道你不是從主線程調用這個?您的視圖是否具有自定義drawRect:實施?你可以在那裏設置一個斷點來查看傳入矩陣的大小?這是正確的尺寸?

如果你只是用綠色背景色創建一個vanilla NSView並將其添加到持有者視圖中,該怎麼辦?那樣有用嗎?如果是這樣,那麼執行CustomView時會出現問題。

沒有看到更多的代碼很難指出問題。

相關問題