Robię to NSTableView programowo, ale z jakiegoś powodu nie ważne co robię, nie mogę sprawić, że cera headerView pokazać. Konieczne jest, aby zrobić to programowo i nie używać IB, ponieważ faktycznie rozwijam ten widget w IDE o nazwie clzure cl, który jest seplenieniem, który zawiera most kakaowy. Początkowo myślałem, że ten problem mógł być spowodowany przez moje środowisko programistyczne, ale właśnie stworzyłem przykład w Xcode używając tylko celu C i wygląda na to, że problem nadal występuje. Co mogę zrobić, to całkiem proste:Programowe tworzenie NSTableView (kłopoty z NSHeaderView aby pokazać się) (OSX kakao)
zrobię okno w IB i jego metod awkefromnib tworzę i konfiguracja stół-view oto kod:
- (void)awakeFromNib {
mydatasource *data = [[mydatasource alloc] init];
NSTableColumn *column = [[NSTableColumn alloc] initWithIdentifier:@"id"];
NSTableView *table = [[NSTableView alloc] initWithFrame: [[self
contentView]frame]];
[table setDataSource:data];
[table addTableColumn:column];
[table addTableColumn:column];
[[self contentView] addSubview:table];
}
Oto kod na przetwarzanie moich danych przedmiotem źródło:
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
{
printf("NUM ROwS");
return 4;
}
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
printf("THE OTHER ONE");
return @"OKAY";
}
z tym kodem ja się okno z dwoma colums i czterech rzędach, a każda komórka wyświetlając napis „OK”, to wszystko jest w porządku i dobre, z wyjątkiem tabeli ma nagłówek. Może to mieć sens, z wyjątkiem sytuacji, gdy przyjrzymy się metodzie nagłówkowej tabel, ma ona zainicjowany nagłówek z ramką, której wartości mają sens. Zastanawiam się tylko, dlaczego go nie widzę. Czy jest jakiś specjalny rodzaj magii, który muszę zrobić, żeby nagłówek się wyświetlił? Nie mogę znaleźć żadnych wskazówek w dokumentacji. Ponownie konieczne jest, aby programista działał w ten sposób, więc nie byłoby to pomocne, nie sugerując używania IB, o którym wiem, że będzie miał działającą funkcję headerView. Wielkie dzięki.
Dziękujemy! Miałem widok tabeli XIB, który odmówił pobierania komórek i nie oczekiwał tłumaczenia tego na kod ręcznie. <3 – Kalle
Tylko notatkę. Osadzanie widoku tabeli w widoku przewijania jest niezbędne do prawidłowego wyświetlania wszystkiego, łącznie z nagłówkami. – Eonil
Dodano szybką konwersję poniżej –