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

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

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

Есть идеи?

Ответы [ 3 ]

52 голосов
/ 25 сентября 2011

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

31 голосов
/ 13 марта 2013

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

В IB выберите табличное представление и перейдите к Инспектору Атрибутов. Выберите «Униформа» для «Размер столбца». Затем выберите столбец таблицы и выберите «Авторазмеры с таблицей» для «Изменение размера».

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

[tableView setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
[tableColumn setResizingMask:NSTableColumnAutoresizingMask];
11 голосов
/ 15 мая 2015

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

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

 //AND 
 [tableView sizeLastColumnToFit];
...