2015-05-05 3 views
1

Я пытаюсь сделать значение/цифры нелинейную NSSlider в ...NSSlider с нелинейными шкалами

@IBOutlet private weak var _countSlider:NSSlider!; 

let countSliderValues:[Int] = [1, 20, 50, 100, 500, 1000]; 
_countSlider.numberOfTickMarks = countSliderValues.count; 
_countSlider.minValue = Double(countSliderValues[0]); 
_countSlider.maxValue = Double(countSliderValues[countSliderValues.count - 1]); 
_countSlider.allowsTickMarkValuesOnly = true; 
_countSlider.integerValue = 100; 

Но по какой-то причине ползунок показывают линейные значения (1, 200, 400, 600, 800, 1000). кто-нибудь знает, почему это произошло?

+1

Поскольку вы никогда не устанавливали значения ползунка, только минимальные и максимальные значения ...? – Schemetrical

+0

Знаешь что? Вы совершенно правы! Как NSSlider знает, какие ценности нужно иметь в виду ?! Вопрос в том, как я могу сказать это ценности? Это невозможно в IB (только мин. И макс.). Я написал этот код из примера на http://stackoverflow.com/questions/5810753/how-can-nsslider-be-customized-to-provide-a-non-linear-scale-in-cocoa – BadmintonCat

ответ

2

Количество свойств меток определяет отметки, которые равномерно распределены между минимальным и максимальным ползунками. Невозможно определить целевое значение для каждой отдельной отметки.

Ваш лучший выбор - свернуть свое собственное решение путем подкласса NSSlider и NSSliderCell и принуждения их вести себя так, как вы хотите, или создать свой собственный совершенно новый контроль с нуля, характерный для нелинейного масштабирования. Ничего не говоря о том, что вы не можете использовать NSSliderCell, чтобы нарисовать стандартные детали системы (дорожка и ручка).

+0

Итак, что вы говорите, что это невозможно сделать, из коробки? – BadmintonCat

+0

Да: Нет. ;-) Вам придется сворачивать свое собственное решение, которое позволяет вам устанавливать индивидуальные значения для каждого тика. Может быть проще построить с нуля, а не пытаться подклассифицировать NSSlider/NSSliderCell и согнуть его по своему желанию. –

+2

@BadmintonCat неясно, хотите ли вы, чтобы шкала была в журнале, или если вы хотите, чтобы метки были помещены в журнал. – Schemetrical

 Смежные вопросы

  • Нет связанных вопросов^_^