2013-02-03 77 views
-1

「地圖」我有我自己的JPG,我想要做這樣的事情:創建從我自己的形象

聲明地區,單擊彈出等後會顯示出來。我怎樣才能做到這一點?我嘗試過使用地圖視圖,但我不認爲這是正確的。

+0

我不完全理解;你究竟在做什麼?你的意思是你想把盒子放在JPG上,就像YouTube上的盒子一樣? –

+0

那麼你需要一個區域列表,並找到其中的當前指針位置。或者你將你的完整圖像分割成區域和每個人的onclick事件處理程序。 –

+0

@TonyHopkinson這正是我想要做的,只是我不知道如何。我應該閱讀哪些章節的文檔,瞭解如何定義圖像或選擇圖像區域? – migari

回答

1

有很多方法可以完成,但是您沒有提供足夠的細節來確定哪種方法最合適。 (例如,您是否需要在點擊之前或之後以圖形方式顯示這些「熱點」區域等)。

要採取最基本的方法,您需要定義一個基於CGRect的對象數組,然後在觸摸事件中測試觸點是否位於任何矩形內。

// many ways to define the rects 
    NSMutableArray* hotspots; //this would be a @property declared elsewhere 

// define 5 CGRects 
    for (int i = 0; i < 5; i++) { 
     NSValue *rectObj = [NSValue valueWithCGRect:CGRectMake(i * 10, 0, 44, 44)]; 
     [hotspots addObject:rectObj]; 
    } 

//並測試點擊:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    // Detect touch anywhere 
    UITouch *touch = [touches anyObject]; 

    for (NSValue* rectObj in hotspots) { 
     if (CGRectContainsPoint([rectObj CGRectValue], point)){ 
      //this is a hit so do something 

      break; 
     } 
    } 
}