Подтвердить что ты не робот

Как я могу, чтобы единственный столбец моего NSTableView занимал всю ширину TableView?

В настоящее время я пытаюсь изучить немного Cocoa (используя книгу Cocoa Программирование для Mac OS X). В одном из упражнений мы настроили NSTableView только с одним столбцом, чтобы действовать как список вещей.

Меня раздражает то, что в Interface Builder я не мог найти способ иметь столбец (только), который всегда использует полную ширину NSTableView. Как следствие, это всегда выглядит так, будто есть 2 столбца, когда на самом деле есть только один.

Любая идея?

4b9b3361

Ответ 1

Это просто проблема с IB, которая происходит все время (я не уверен, почему). Чтобы решить эту проблему, просто просто измените размер представления таблицы на размер, меньший, чем второй столбец, затем перетащите его обратно до нужного размера, а второй столбец исчезнет.

Ответ 2

Вот как я это сделал в Xcode 4.6...

В IB выберите вид таблицы и перейдите к инспектору атрибутов. Выберите "Униформа" для "Размер столбца". Затем выберите столбец таблицы и выберите "Autoresizes with Table" для "Resizing".

Эти параметры соответствуют:

[tableView setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
[tableColumn setResizingMask:NSTableColumnAutoresizingMask];

Ответ 3

Мне пришлось использовать оба шага - ответить sam + комментарий Дэвида Дугласа.

[tableView  setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
[tableColumn setResizingMask:NSTableColumnAutoresizingMask];

 //AND 
 [tableView sizeLastColumnToFit];