Отрегулируйте ширину и размещение NSSegmentedControl с помощью динамической панели инструментов.

У меня довольно динамичный пользовательский интерфейс, который использует NSSegmentedControl на панели инструментов своего окна документа.

NSSegmentedControl динамически получает свои элементы.

Количество элементов может широко варьироваться от 1 до 15.

На данный момент панель инструментов не будет подстраиваться под количество элементов в NSSegmentedControl, т.е. после установки количества сегментов через setSegmentCount: все сегменты, которые превышают исходную ширину NSSegmentedControl (на момент создания окна), обрезаются:

введите здесь описание изображения

Как лучше всего сказать NSToolbar пересчитать ширину всех его элементов, то есть ширину NSSegmentedControl и размещение всех элементов прямо перед ним?


person ATV    schedule 12.09.2014    source источник


Ответы (1)


Отсечение вызвано текущим значением NSToolbarItem для -maxSize. Попробуйте отрегулировать его ширину с помощью - setMaxSize: после того, как вы добавите сегменты в NSSegmentedControl, или напрямую установите максимальную ширину в Interface Builder.

Дополнительную информацию по этой теме можно найти по адресу https://developer.apple.com/library/mac/documentation/cocoa/Conceptual/Toolbars/Tasks/SettingTBItemSize.html

person Elwisz    schedule 12.09.2014