Вопрос по cocoa – NSTableView с кнопками плюс и минус

20

Как я могу сделать что-то подобное?

Screenshot

Я не нашел подходящего объекта в библиотеке Interface Builder.

Какие-нибудь мысли?

Ваш Ответ

4   ответа
3

однако эти кнопки нельзя отключить, так как это приводит к изменению фона и, таким образом, нарушает внешний вид. В другом предложено использовать сегментированный элемент управления, который является почти идеальным, но сегментированные элементы управления не поддерживают автоматическое изменение размера, например если ширина таблицы динамическая. Мое предложение представляет собой сочетание обоих. Используйте сегментированный элемент управления для фактических кнопок и кнопку градиента, чтобы заполнить остальную часть ширины таблицы, которая теперь также может быть динамической, если ширина кнопки также является динамической.

Смотрите мой ответ на аналогичный вопрос (со скриншотами): https://stackoverflow.com/a/22586314/15809

34

после того, как вы перетащили его на холст, вы должны настроить его стиль:

Style: Small Square
Mode:  Select Momentary

выглядит лучше. Теперь используйте & quot; изображение & quot; поле для установкиNSAddTemplate а такжеNSRemoveTemplate, Убедитесь, что поле метки пусто.

Хорошо, у нас есть & quot;+& quot ;, & quot;-& Quot; и один пустой сегмент. Чтобы последний пользователь не выбрал, выберите его изSegment: всплывающее окно и выключитьEnabled флажок (расположен рядом сState: этикетка).

И, наконец, что мы должны сделать, это установитьwidth из первых двух сегментов, чтобы сделать их квадратными.

Go to Size inspector Select Segment 0 Turn off "Fixed" checkbox (segment should immediately autoresize to fit image) Select Segment 1 and repeat number 3 Now as you resize control, only last segment will change width Put it at the bottom of your table view and resize as well.

Наслаждаться ;)

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceededstackoverflow.com/a/22586314/15809Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededNoneError: User Rate Limit ExceededMomentary
Error: User Rate Limit Exceeded
8

а для изображений используйте предоставленные системой NSAddTemplate и NSRemoveTemplate.

Error: User Rate Limit Exceeded
8

Update for OSX Yosemite

Я пытался добиться того же вида, что и Mail.app в представлении «Учетные записи» (правое окно на моем скриншоте).

Я достиг желаемого результата, выполнив следующие действия:

Add a NSSegmentedControl Add two segments and set the image to each: NSAddTemplate for the + button NSRemoveTemplate for the - button Set the size of the segments to fixed and set the value to 32 pixels The rectangle next to the buttons is a NSButton with the style Gradient. The Button is enabled but Refuses First Responder is set to true so that it is not clickable.

Screenshot

Похожие вопросы