Objective c IKImageView缩放由NSSlider控制
通过NSSlider在IKImageView中设置图像缩放因子的最佳实践是什么 我可以将滑块绑定到IKImageView的放大或缩小操作。 显然,我更希望看到的是一个单独的滑块控制这两个动作。Objective c IKImageView缩放由NSSlider控制,objective-c,cocoa,interface-builder,cocoa-bindings,ikimageview,Objective C,Cocoa,Interface Builder,Cocoa Bindings,Ikimageview,通过NSSlider在IKImageView中设置图像缩放因子的最佳实践是什么 我可以将滑块绑定到IKImageView的放大或缩小操作。 显然,我更希望看到的是一个单独的滑块控制这两个动作。 最好是在每次更改滑块后刷新图像(连续刷新,即使鼠标按钮尚未释放) 这个演示解释了很多: 特别是,这段代码正是我想要的: - (IBAction) zoomSliderDidChange:(id)sender { [addProductPhotoImageView setZoomFactor:[se
最好是在每次更改滑块后刷新图像(连续刷新,即使鼠标按钮尚未释放) 这个演示解释了很多: 特别是,这段代码正是我想要的:
- (IBAction) zoomSliderDidChange:(id)sender
{
[addProductPhotoImageView setZoomFactor:[sender floatValue]];
}
绑定方式是将IK图像视图的缩放因子和滑块的值绑定到控制器的同一属性。当滑块更改属性值时,图像视图将收到通知,并从控制器获取新值 这种方式的一个优点是,您可以添加更多的放大和缩小方式,并且滑块中的值不会过时。例如,如果IKImageView添加了收缩缩放(或者如果已经有了,我的Mac上没有multi-touch),用户可以这样缩放,滑块将自动更新。使用
iAction
解决方案不会出现这种情况
另一个例子是放大和缩小菜单命令(可能是⌘+ 及⌘- 向控制器发送操作消息的快捷键)。控制器将通过增加或减少属性的值(使用它实现的setter方法)进行响应。通过绑定,图像视图和滑块都将免费更新。如果没有绑定,您必须显式地与图像视图和滑块对话,告诉其中一个更新其缩放因子,另一个更新其滑块
第三个例子是“缩放因子:X%”显示在窗口的一角。使用绑定时,无论用户如何缩放图像,都可以免费更新:移动滑块拇指、挤压/取消挤压图像或按菜单项。如果没有绑定,这将是您在(至少三个)更改缩放值操作方法时必须讨论的另一件事。您需要首先设置滑块的
minValue
和maxValue
,最有可能是在IB中。