簡體   English   中英

確定在UIImageView中觸摸的“區域”

[英]Determining the “Region” Touched in a UIImageView

我正在嘗試確定用戶觸摸的圖像的區域面積

例如,我想使用一個CGRect定義每個字母的位置,以便可以確定用戶何時在以下圖像之一中觸摸“ O”…

范例圖片

我的第一個想法是使用locationInView給我絕對坐標,並將其調整為ImageView的相對大小。 但是,由於我將AspectFit用於內容模式,因此給定區域的相對位置會隨着每個屏幕尺寸和方向的變化而變化,這是由於頂部/底部和側面的圖像填充 AspectFit

在一個完美的解決方案中,我還想將此圖像嵌入ScrollView以便對其進行縮放。 但是,如有必要,我可以放棄。

我不經常使用手勢和圖像,因此可能缺少明顯的東西。 您提供的任何幫助或想法將不勝感激。

有簡單的方法和困難的方法。 將圖像分解為較小圖像的簡單方法,每個字母一個。 這種方法的問題是使它們像單個圖像一樣排列。 如果采用這種方法,則可以使用CGRectContainsPoint來查看所點擊的圖像。 或者,您可以按每個按鈕或為每個圖像提供一個手勢識別器,以識別所按下的內容。 如果您的設計要求您使用單個圖像,則必須制作一個描述每個位置的匹配圖。 每個字母都需要帶有CGPathMoveToPoint和幾個CGPathAddLineToPoint的CGMutablePathRef來描述其形狀和位置。 CGPathContainsPoint方法將告訴您您擊中了哪一個。

暫無
暫無

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

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