2013-08-23 42 views
0

我有一個圖像顯示在uiimage視圖。如果我觸摸屏幕上的某個位置,是否有任何方法可以知道圖像中的哪個點被觸摸。我想就圖像採取協調,而不是屏幕座標。我想在不使用任何第三方庫的情況下執行此操作。請建議是否有任何方法。轉換屏幕指向圖像點

回答

0

要將點從一個視圖轉換爲另一個視圖,可以使用convertPoint:fromView:convertPoint:toView:方法。

+0

對不起,我不需要在imageview的點。我需要圖像文件中的座標。 – Shruthi

0

一旦從UIImageView touch事件中獲得相對座標(並且我假設您正在使用UIImageView併爲Image設置其Image屬性)。然後,您可以使用1/UIImageView.image.scale與相對觸摸座標相乘,並獲取該圖像的絕對座標。

基本上,您的原始圖像會根據UIImageView的大小而變形或縮放,因此您需要對其進行反轉。

+0

我有一個與圖像相關的滾動視圖。當我縮放/滾動上面的邏輯將無法正常工作... – Shruthi

+0

@Shruthi - 你將不得不分享你的代碼,然後我可以幫你... – Jailbroken

+0

我有一個滾動視圖,我已經放置了一個圖像。我在那張圖片上畫線。我需要將相對於原始圖像(不是圖像視圖觸摸座標)的線的座標發送到服務器。我已經使用了滾動視圖,以便我可以放大圖像。 – Shruthi

1

試試這樣,默認情況下重要提示userInteractionEnable=YES設置爲您的圖片視圖用戶交互設置爲圖片視圖無。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [[event allTouches] anyObject]; 
    if([[touch view] isKindOfClass:[UIImageView class]]){ 
     CGPoint point= [touch locationInView:touch.view]; 
     NSLog(@"%f%f",point.x,point.y); 
    } 

} 
+0

XCode6.1建議它爲userInteractionEnabled而不是userInteractionEnable – stephendwolff