IKImageView和滚动条

时间:2010-02-12 19:37:39

标签: objective-c macos scroll ikimageview

我有一个带有IKImageView的NSScrollView来显示图像。这似乎有效。

但是,如果我使窗口小于图像,则滚动条会按原样显示,但图像的BOTTOM会锁定到窗口的底部,而不会锁定到顶部的图像顶部窗户。换句话说,当我从右下角重新调整窗口大小时,我希望图像不会在屏幕上移动。

我理解为什么会这样,因为在所有这些类中,原点位于左下角,而不是左上角。但是,它仍然表现不对。如果您查看任何其他产品(包括预览,我假设是使用其中一些库编写的),图像/内容/其他内容将锁定在顶部而不是底部。

我该怎么做?

我在NSScrollView和IKImageView中查找了方法。我已经考虑过捕捉滚动条事件并适当地手动向下或向上移动图像,但我还没有看到这样做的方法(将选择器设置为我在控制器中写入的方法?)无论如何,这看起来非常凌乱...

有一种简单的方法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

供将来参考的解决方案:    使用一个重叠方法创建IKImageView的子类:

-isFlipped()
{
   return YES;
}

如果我发现需要重新实现rotate:(id)方法和类中存在的setImage:(NSImage)方法(并且在旋转的情况下使用的话),这个子类也将证明是有用的。由Apple提供的DEMO,但没有记录,因此没有得到官方支持......