2011-01-20 8 views
1

NSTableViewを作成しましたが、これはNSWindowには表示されません。コード例:動的オブジェクトの作成

NSTableView *tbl = [[NSTableView alloc] initWithFrame:NSMakeRect(0,0,500,500)]; 
[window.contentView addSubview:tbl]; 

P.S. 私だけ

+0

テーブルは一般的にスクロールビュー内にあることを前提としているため、ほとんどの場合、テーブルの1つを作成することもほぼ確実です。 –

答えて

0

てみIBOutletsせずにアプリケーションを作成する必要があります。

NSTableView *tbl = [[NSTableView alloc] initWithFrame:NSMakeRect(0,0,500,500)]; 
[window setContentView:tbl]; 
[tbl release]; 

は、あなたのwindowオブジェクトがnilではなく、あなたがそれを正しく初期化してきたと仮定。

更新:hereを参照してNSWindowを表示する方法については、特に:ウィンドウウィンドウが作り、あるオープニング

通常の方法makeKeyAndOrderFront :, orderFrontのいずれかを呼び出すことにより、アプリケーションのウィンドウの一覧にウィンドウを配置することによって達成見えるが-さ:

ので、上記のコードの後に​​、次を追加してウィンドウを表示させます。

[window makeKeyAndOrderFront:self]; 
+0

それもうまくいきません:(私のTableviewとウィンドウはnilではありません – Arsynth

-1

なぜuitableviewを使用しませんか? テーブルビューの標準クラスです。

UITableView * tbl = [[[UITableView alloc] initWithFrame:NSMakeRect(0,0,500,500)] autorelease]; [window.contentView addSubview:tbl]; [ウィンドウmakeKeyAndVisible];

+0

質問にはOSXというタグが付いていましたので、Mac Cocoaアプリケーションであると想定されます.iOSアプリケーションではなく、UITableViewを使用します。 – petert

+0

ああ、ごめんなさい通知していない –

+2

NSTableViewは、Cocoaの標準のテーブルビュークラスです.UITableViewは、Cocoa Touchの標準のテーブルビュークラスです。 –

1

そのコードは正しいです。ウィンドウを作成またはロードしたことを確認してください(windownilではありません)。コンテンツビュー(window.contentViewnilではありません)を指定してください。

また、tblをリリースすることを忘れないでください。

関連する問題