簡體   English   中英

使用GestureRecognizers操作UIImage-不是UIImageView

[英]Manipulating UIImage with GestureRecognizers - NOT UIImageView

使用“平移”,“捏”和“旋轉”等手勢識別器,是否有可能在UIImageView中操縱UIImage?

每當我嘗試為UIImage定義手勢識別器時,都會收到一條錯誤消息,指出

沒有可見的UIImage支持“ addGestureRecognizer:”

使用此代碼:

UIRotationGestureRecognizer *rotateGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotateImage:)];
[imageStrip addGestureRecognizer:rotateGesture];

反正有沒有轉換UIImageView而不轉換UIImageView內部的UIImage?

您可以將手勢識別器添加到任何類型的UIView並且在事件處理方法中,可以將UIImage重繪到新創建的CGContextRef 必須使用CGContextRotateCTMCGContextScaleCTMCGContextTranslateCTM轉換此上下文,並使用與您從手勢識別器接收到的參數匹配的參數進行調用。 那是很難的方法。

或者,您可以使用圖像創建一個草稿UIImageView ,使用手勢識別器對其進行轉換,然后將其呈現為CGContextRef並從該上下文中獲取轉換后的圖像。

當然可行,但並非無關緊要。

UIGestureRecognizer只能附加到UIView - UIImage不是UIView的后代。

這是因為UIView (或其后代)可以接收觸摸UIImage無法接收觸摸。

請參閱將手勢識別器附加到視圖

用戶完成操作后,可以根據參數重新計算/渲染UIImage 關於如何執行此操作:這實際上取決於您要實現的目標。

暫無
暫無

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

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