我試圖檢查的CGRect:對UIImageView進行旋轉之後,我應該如何檢查觸點是否位於UIImageView區域內?
CGFloat imageX1 = imageView.frame.origin.x;
CGFloat imageY1 = imageView.frame.origin.y;
CGFloat imageX2 = imageView.frame.origin.x + imageView.frame.size.width;
CGFloat imageY2 = imageView.frame.origin.y + imageView.frame.size.height;
//NSLog(@"(%f, %f) - (%f, %f)", imageX1, imageY1, imageX2, imageY2);
if(imageX1 < touchedX && touchedX < imageX2 &&
imageY1 < touchedY && touchedY < imageY2){ }
然後,我知道什麼時候的UIImageView未被旋轉/縮放,這種類型的檢查纔有效。
我試過CGRectApplyAffineTransform(imageView.frame, imageView.transform);
,但它爲轉換後的UIImageView創建了一個最小的矩形。
所以說,你有一個UIImageView旋轉45度,並縮放到1.5。現在,當您觸摸UIImageView外部的幾個像素時,它仍然認爲觸摸點位於UIImageView矩形內,但事實並非如此。 UIImageView被旋轉和縮放,但CGRect仍然是原始的。
任何人都知道如何處理這個?我對圖形的東西很新。任何事情都會有幫助。謝謝!