Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top