0
저는 테이블 게임에 익숙하지 않습니다. 보통 게임을 만들지 만, 이제는 사용자 정의 셀이있는 테이블 뷰가 필요한 레벨 작성기를 만들고 싶습니다. nib 파일을 만들었고 NSTableCellView를 서브 클래 싱했습니다.하지만 다음에 무엇을해야할지 모르겠습니다. 내가 가진 것은 :코코아 : 사용자 지정 TableView 셀?
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification{
NSScrollView * tableContainer = [[NSScrollView alloc] initWithFrame:NSMakeRect(self.window.frame.size.width-TABLEWIDTH, 0, TABLEWIDTH, self.window.frame.size.height)];
SpriteTable *sT = [[SpriteTable alloc]initWithFrame:NSMakeRect(self.window.frame.size.width-TABLEWIDTH, 0, TABLEWIDTH, self.window.frame.size.height)];
NSTableView *tableView = [[NSTableView alloc] initWithFrame: sT.bounds];
NSTableColumn* firstColumn = [[[NSTableColumn alloc] initWithIdentifier:@"firstColumn"] autorelease];
[[firstColumn headerCell] setStringValue:@"First Column"];
[tableView addTableColumn:firstColumn];
tableView.dataSource = self;
tableView.delegate = self;
[tableContainer setDocumentView:tableView];
tableContainer.autoresizingMask = NSViewHeightSizable | NSViewMinXMargin;
[self.window.contentView addSubview: tableContainer];
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView{
return 4;
}
- (NSView *)tableView:(NSTableView *)tableView
viewForTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)row {
// get an existing cell with the MyView identifier if it exists
CustomCell *result = [tableView makeViewWithIdentifier:@"MyView" owner:self];
// There is no existing cell to reuse so we will create a new one
if (result == nil) {
NSLog(@"result = nil");
// create the new NSTextField with a frame of the {0,0} with the width of the table
// note that the height of the frame is not really relevant, the row-height will modify the height
// the new text field is then returned as an autoreleased object
//result = [[[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 250, 70)] autorelease];
// the identifier of the NSTextField instance is set to MyView. This
// allows it to be re-used
result.identifier = @"MyView";
}
// result is now guaranteed to be valid, either as a re-used cell
// or as a new cell, so set the stringValue of the cell to the
// nameArray value at row
result.imageView.image = [NSImage imageNamed:NSImageNameHomeTemplate];
// return the result.
return result;
}
어떤 대리자 메소드를 구현해야합니까? 그리고 nib 파일로 셀을 사용자 정의하려면 어떻게해야합니까?
감사합니다 아주 많이,하지만 난 그냥 내 창에 테이블을 생성하고 밖으로 일했다, 그래서 내가 추측 이럴 필요 없어. 그러나 나는 이것을 시도 할 것이고 당신의 대답을 받아 들일 것입니다. :) –
그 .. :) 만약 우리가 미래에 당신을 도울 것을 격려 할 것입니다. –