0

Какова наилучшая практика для настройки коэффициента масштабирования изображения в IKImageView через NSSlider?IKImageView масштабирование контролируется NSSlider

я смог связать ползунок либо увеличения в ИЛИ уменьшить масштаб, действия IKImageView. Очевидно, что я лучше всего увижу один слайдер, контролирующий оба этих действия. Лучше всего, если изображение обновляется после каждого изменения ползунка (непрерывно, даже если кнопка мыши еще не отпущена).

ответ

1

Эта демонстрационная многое объясняет: ImageKitDemo

В частности, этот фрагмент является то, что я искал:

- (IBAction) zoomSliderDidChange:(id)sender 
{ 
    [addProductPhotoImageView setZoomFactor:[sender floatValue]]; 
} 
+0

Сначала вы должны сначала установить «minValue» и «maxValue» слайдера, скорее всего, в IB. –

+0

Правильно, так же как и непрерывное состояние. –

1

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

Одним из преимуществ этого способа является то, что вы можете добавить дополнительные способы увеличения и уменьшения масштаба, а значение в слайдере не будет устаревать. Например, если IKImageView добавляет масштабирование (или если у него уже есть - у меня нет мультитач на моем Mac), пользователь может масштабировать этот путь, и ползунок будет обновляться автоматически. Это не произойдет с решением IBAction.

Другим примером могут быть команды меню «Масштабирование и уменьшение» (возможно, с помощью клавиш «+» и «⌘)», которые отправляют сообщения о действиях на ваш контроллер. Ваш контроллер будет реагировать, увеличивая или уменьшая значение свойства (используя метод setter, который он реализует). С помощью Bindings изображение и слайдер будут обновляться бесплатно. Без привязок вам придется явно поговорить как с представлением изображения, так и с ползунком, сообщая одному обновить коэффициент масштабирования, а другой - обновить свой слайдер.

Третий пример - это экран «Масштаб: X%» в углу вашего окна. С помощью Bindings это может бесплатно обновляться независимо от того, как пользователь масштабирует изображение: перемещение большого пальца слайдера, ущемление/снятие изображения или нажатие на пункт меню. Без привязок это будет еще одна вещь, с которой вам нужно поговорить в ваших (по крайней мере трех) методах действия изменения значения масштабирования.