簡體   English   中英

由NSSlider控制的IKImageView縮放

[英]IKImageView zooming controlled by an NSSlider

通過NSSlider在IKImageView中設置圖像縮放比例的最佳實踐是什么?

我可以綁定一個滑塊來放大縮小 IKImageView的動作。 顯然,我希望看到的是一個滑塊來控制這兩個動作。 最好,如果在每次更改滑塊后刷新圖像(即使尚未釋放鼠標按鈕,也要連續刷新)。

該演示有很多解釋: ImageKitDemo

特別是,我正在尋找以下代碼段:

- (IBAction) zoomSliderDidChange:(id)sender
{
    [addProductPhotoImageView setZoomFactor:[sender floatValue]];
}

綁定方式是將IK圖像視圖的“縮放因子”和滑塊的“值”都綁定到控制器的相同屬性。 當滑塊更改屬性的值時,將通知圖像視圖,並將從您的控制器獲取新值。

這種方式的優點之一是您可以添加更多的放大和縮小方式,並且滑塊中的值不會過時。 舉一個例子,如果IKImageView添加了捏縮放(或者已經有捏縮放-我在Mac上沒有多點觸摸),則用戶可以以這種方式縮放,並且滑塊將自動更新。 IBAction解決方案不會發生這種情況。

另一個示例是“放大”和“縮小”菜單命令(可能帶有⌘+和⌘-鍵盤快捷鍵),這些命令會將動作消息發送到控制器。 您的控制器將通過增加或減少屬性的值來響應(使用它實現的setter方法)。 使用綁定,圖像視圖和滑塊都將免費更新。 如果沒有綁定,則必須顯式地與圖像視圖和滑塊進行對話,告訴其中一個更新其縮放系數,並告訴另一個更新其滑塊。

第三個示例是在窗口的一角顯示“縮放系數:X%”。 有了Bindings,無論用戶如何縮放圖像,它都可以免費更新:移動滑塊,收縮/松開圖像或按下菜單項。 沒有綁定,這將是您(至少三個)“更改縮放值”操作方法中不得不談論的另一件事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM