2010-02-12 1 views
1

У меня есть NSScrollView с IKImageView внутри для отображения изображений. Кажется, это работает.IKImageView и полосы прокрутки

Однако, если я сделаю окно меньше изображения, полосы прокрутки появятся так, как должны, но НИЖНЯЯ ЧАСТЬ изображения заблокирована в нижней части окна, а верхняя часть изображения будет заблокирована в верхней части окна окна. Другими словами, я хочу, чтобы изображение не двигалось на экране, когда я изменяю размер окна справа внизу.

Я понимаю, почему это так, потому что во всех этих классах начало находится в левом нижнем углу, а не в верхнем левом углу. Тем не менее, он по-прежнему ведет себя неправильно. Если вы посмотрите на любой другой продукт (включая Предварительный просмотр, который, как я полагаю, написан с некоторыми из этих библиотек), изображение/контент/все, заблокировано сверху, а не внизу.

Как это сделать?

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

Есть ли простой способ сделать это?

спасибо.

ответ

0

Раствор для дальнейшего использования: сделать подкласс IKImageView лишь один подавляться метод:

-isFlipped() 
{ 
    return YES; 
} 

Этот подкласс также окажется полезным, если я считаю, что мне нужно повторно реализовать вращаться :(id) и метод setImage: (NSImage), который существует в классе (и в случае поворота используются в ДЕМО, поставляемом Apple), но не документированы и, следовательно, официально не поддерживаются ...