绑定NSSlider以控制IKImageBrowserView的缩放

时间:2009-04-29 06:06:58

标签: objective-c cocoa

事实证明,为了做到这一点,必须将NSSlider的值绑定到IKImageBrowserView的zoomValue。

我的问题是为什么它只能以这种方式运作?将IKImageBrowserView的zoomValue绑定到NSSlider.intValue似乎更自然(对我来说)

谢谢!

3 个答案:

答案 0 :(得分:5)

IKImageBrowserView的文档声明:

setZoomValue:
设置缩放值。

     - (void)setZoomValue:(float)aValue;

参数
安勤
缩放值。该值应大于或等于零且小于或等于1。缩放值为零对应于最小尺寸(40x40像素)。缩放值为1表示图像适合浏览器边界。其他值是内插的。

如果你传入的只是整数值,你将只得到'0'和'1',它们对应于最小大小,并且分别适合浏览器界限。您还需要确保将滑块配置为最小值为0,最大值为1,以使其适用于IKImageBrowserView。

答案 1 :(得分:3)

因为它不像一个绑定。它不像IKImageBrowserView的zoomValue成为滑块的值。 这意味着滑块向IKImageBrowserView发送消息,将zoomValue设置为滑块的值。

答案 2 :(得分:1)

执行此操作的另一种方法是将图像浏览器的zoomValue和滑块的值绑定到另一个对象中的相同键。例如,如果您希望在应用程序的重新启动之间记住缩放值,则可以将两个视图绑定到共享用户默认控制器中的特定键。每当任一视图发生更改时,它都会更改NSUserDefaults中的值,然后传播到另一个视图。