cocoa - ¿Cómo puedo hacer que la única columna de mi NSTableView tome todo el ancho de TableView?
xcode4 interface-builder (3)
Actualmente estoy tratando de aprender un poco de Cocoa (usando el libro Cocoa Programming para Mac OS X ). En uno de los ejercicios, configuramos un NSTableView con solo una columna, para actuar como una lista de cosas.
Lo que me molesta es que en Interface Builder no pude encontrar la forma de tener la columna (solo) ocupando todo el ancho de NSTableView . Como consecuencia, siempre parece que hay 2 columnas cuando en realidad solo hay una.
Alguna idea ?
Así es como lo hice en Xcode 4.6 ...
En IB, seleccione la vista de tabla y vaya al Inspector de atributos. Elija ''Uniforme'' para ''Tamaño de columna''. Luego, seleccione la columna de la tabla y elija ''Autoresizes with Table'' para ''Resizing''.
Estas opciones corresponden a:
[tableView setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
[tableColumn setResizingMask:NSTableColumnAutoresizingMask];
Este es solo un problema de IB que ocurre todo el tiempo (no estoy seguro por qué). Para resolver esto, simplemente cambie el tamaño de la vista de tabla al tamaño más pequeño que la 2ª columna, luego arrástrelo al tamaño que desee y la 2ª columna desaparecerá.
Tuve que usar ambos pasos: la respuesta de Sam + el comentario de David Douglas.
[tableView setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
[tableColumn setResizingMask:NSTableColumnAutoresizingMask];
//AND
[tableView sizeLastColumnToFit];