IKImageView и полосы прокрутки
У меня есть NSScrollView с IKImageView внутри для отображения изображений. Это похоже на работу.
Однако, если я сделаю окно меньше, чем изображение, полосы прокрутки появятся так, как они должны, но НИЖЕ изображения заблокировано в нижней части окна, а не верхняя часть изображения в верхней части окна. Другими словами, я хочу, чтобы изображение не двигалось на экране при изменении размера окна справа внизу.
Я понимаю, почему это так, потому что во всех этих классах источник находится внизу слева, а не вверху слева. Тем не менее, он по-прежнему ведет себя неправильно. Если вы посмотрите на любой другой продукт (включая Preview, который, как я полагаю, написан с некоторыми из этих библиотек), изображение / контент / что угодно, заблокировано сверху, а не снизу.
Как мне это сделать?
Я искал методы в NSScrollView и IKImageView. Я рассмотрел захват событий прокрутки и ручное перемещение изображения вниз или вверх, в зависимости от ситуации, но я не видел способа сделать это (установить селектор на метод, который я пишу в контроллере?) И в любом случае, это кажется очень беспорядочный...
Есть простой способ сделать это?
Благодарю.
1 ответ
Решение для дальнейшего использования: создайте подкласс IKImageView только с одним переопределенным методом:
-isFlipped()
{
return YES;
}
Этот подкласс также окажется полезным, если я обнаружу, что мне нужно повторно реализовать метод rotate:(id) и метод setImage:(NSImage), которые существуют в классе (и в случае rotate используются в демонстрационной версии, предоставленной Apple) но не документировано, и поэтому официально не поддерживается...