【发布时间】:2013-08-26 19:25:01
【问题描述】:
我是 Obj-C/Cocoa 编程的新手,面临一个关于 NSImageView 的问题。
我的目标是创建一个应用程序,允许用户通过拖放在其上放置图像。
问题如下:当我们放置大于窗口的图像时,它会将窗口调整为图像大小,我不希望这样!
我将我的 NSImageView 放入 NSScrollView 中,因此只显示图像的特定部分必须,并且用户将移动滑块以查看整个滑块(或简单地调整窗口大小),这就是我想要的..
这是我的 XIB 层次结构(相关部分):
- 查看
- NSScrollView
- 查看
- NSImageView
- 查看
- NSScrollView
在我的 NSImageView 的代码中,我有(关于那个问题):
[self setImageScaling:NSScaleProportionally];
[self setImage:newImage];
注意:滑块似乎在移动视图而不是图像
注意 2:我无法将窗口大小调整为小于图像的大小
【问题讨论】:
-
“滑块似乎在移动视图而不是图像”是什么意思?
-
我的意思是当我滚动到顶部/底部时,我们可以看到视图正在移动,并自动返回到默认位置。
-
好的。我明白你的问题是什么。你所描述的对我来说听起来就像你的 NSScrollView 里面的视图不够大。因为
clip subviews可能未启用,您仍然可以看到 NSImageView 超出其边界。之所以可以滚动并返回其原始位置,是因为一个称为弹跳的功能,它是 NSScrollView 的一部分。您能否调试您的应用程序并检查yournsimageview和yourscrollview.view的大小。
标签: objective-c cocoa nsimage nsscrollview nsimageview