Estoy haciendo un NSTableView programáticamente pero por alguna razón no importa lo que haga, no puedo hacer aparecer el maldito headerView. Es imperativo que haga esto programáticamente y no use el IB porque en realidad estoy desarrollando este widget en un IDE llamado clozure cl, que es un lisp ide que incluye un puente de cacao. Originalmente pensé que este problema podría haber sido causado por mi entorno de desarrollo, pero acabo de crear un ejemplo en Xcode utilizando solo el objetivo C y parece que el problema persiste. Lo que hago es bastante sencillo:Creación programática de un NSTableView (problemas para mostrar el NSHeaderView) (cocoa osx)
hago una ventana en el IB y en sus métodos awkefromnib puedo crear y configurar una tabla de vista aquí está el código:
- (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];
}
Este es el código para mis datos objeto de origen:
- (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";
}
con este código me sale una ventana con dos columnas y cuatro filas y cada célula que muestra la cadena "bien", esto es todo bien y bueno, excepto la mesa no tiene cabecera. Esto podría tener sentido, excepto cuando miro el método de encabezado de tablas, tiene un encabezado inicializado con un marco cuyos valores tienen sentido. Me pregunto por qué no lo veo. ¿Hay algún tipo especial de magia que deba hacer para que se muestre el encabezado? Parece que no puedo encontrar ninguna pista en la documentación. Una vez más, es imperativo para el ceceo que esto se haga de forma programática, por lo que no sería útil no sugerir usar el IB, que sé que tendrá un encabezado de trabajo. Muchas gracias.
¡Gracias! Tenía una vista de tabla XIB que se negaba a buscar las celdas y no tenía muchas ganas de traducirla en código a mano. <3 – Kalle
Solo una nota. Incrustar la vista de tabla en una vista de desplazamiento es esencial para mostrar todo correctamente, incluidos los encabezados. – Eonil
Agregó una conversión rápida debajo de –