我確實創建了NSTableView,但是這並不顯示在NSWindow上。代碼示例:動態創建對象
NSTableView *tbl = [[NSTableView alloc] initWithFrame:NSMakeRect(0,0,500,500)];
[window.contentView addSubview:tbl];
P.S. 我需要做應用程序,而不只是IBOutlets
我確實創建了NSTableView,但是這並不顯示在NSWindow上。代碼示例:動態創建對象
NSTableView *tbl = [[NSTableView alloc] initWithFrame:NSMakeRect(0,0,500,500)];
[window.contentView addSubview:tbl];
P.S. 我需要做應用程序,而不只是IBOutlets
嘗試:
NSTableView *tbl = [[NSTableView alloc] initWithFrame:NSMakeRect(0,0,500,500)];
[window setContentView:tbl];
[tbl release];
假設你window
對象不是nil
,並且你已經正確初始化它。
更新:有關使NSWindow
可見的信息,請參閱here;具體做法是:
打開一個窗口,也就是說,通過調用的方法makeKeyAndOrderFront :, orderFront一個使窗口可見,通常是通過將窗口到應用程序的窗口列表來完成:
所以,在上面的代碼後,添加以下內容以使窗口可見:
[window makeKeyAndOrderFront:self];
不是工作壓力太大:(我泰伯維和窗口不是零 – Arsynth 2011-01-24 05:50:01
爲什麼不使用uitableview? 它是表視圖的標準類。 UITableView * tbl = [[[[UITableView alloc] initWithFrame:NSMakeRect(0,0,500,500)] autorelease];}}; [window.contentView addSubview:tbl]; [window makeKeyAndVisible];
這個問題被標記OSX,所以它的假設是在Mac可可應用程序,而不是iOS應用程序,這是在你使用的UITableView。 – petert 2011-01-20 14:12:31
該代碼是正確的。確保您已創建或加載窗口(即window
不是nil
),並且您已爲其指定了內容視圖(window.contentView
不是nil
)。
另外,不要忘記釋放tbl
。
注意,表普遍預期是一個滾動視圖裏面,所以你幾乎可以肯定要創建的其中之一了。 – 2011-01-20 15:36:51