Реализуете "грязные ползунки" в Какао? - PullRequest
1 голос
/ 11 февраля 2009

Как бы я реализовал что-то по принципу «скребущих ползунков», как в Photoshop и многих других приложениях для обработки изображений?

Их немного сложно описать ... в основном у вас есть обычное числовое поле ввода, но вы можете нажать и удерживать кнопку мыши, и она работает как ползунок (пока вы не отпустите). Если вы щелкнете по полю, вы можете выбрать текст, отредактировать / вставить / и т. Д. Как обычно.

Документы Photoshop описывают это, и я собрал короткий пример видео (пример слайдеров в Shake )

Еще одна похожая реализация - это джог-джойстик в Final Cut Pro, который работает аналогично, без числового показания внизу.

Кажется, я не могу найти упоминаний об их реализации, хотя, возможно, есть альтернативные названия для этого. Он предназначен для приложения OS X 10.5 Cocoa.

Это для приложения с цветовой градацией, где пользователю может потребоваться внести незначительные корректировки (например, 0,001), в огромные корректировки (скажем, -100 +100) для того же элемента управления. Обычный ползунок недостаточно точен в этом диапазоне значений.

Копирование и вставка значений в поле будет второстепенной задачей для очистки значений, и настройка Photoshop / Shake действительно хороша. Неочевидность элемента управления также не вызывает особого беспокойства, поскольку это не «обычное настольное приложение»

Ответы [ 2 ]

5 голосов
/ 11 февраля 2009

Я с этим сталкивался. Они отстой, потому что они не позволяют пользователю перетаскивать, чтобы выбрать текст числа.

Лучшей идеей будет миниатюрный ползунок под полем, который расширяется до полноразмерного ползунка, когда пользователь удерживает на нем кнопку мыши, и сворачивается до его миниатюрного размера, когда пользователь отпускает кнопку мыши. Таким образом, поведение выбора все еще доступно, но вы также предоставляете ползунок - и более очевидным способом.

В Какао нет встроенного класса ни для одного из них. Вам придется реализовать свой собственный.

1 голос
/ 11 февраля 2009

Я сомневаюсь, что это существует в рамках Какао. Насколько я помню, это не упоминается в Руководстве по интерфейсу Apple для человека .

Вы можете разработать его самостоятельно, используя пользовательский вид и отслеживая события мыши (-mouseDown:, mouseUp:, -mouseDragged:).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...