0

私は自分のjpgを持っていて、そのようなことをしたい:

エリアを宣言します。クリックすると、そのようなポップアップが表示されます。これどうやってするの?マップ ビューで試してみましたが、正しくないと思います。

4

1 に答える 1

2

達成したい方法はたくさんありますが、どのアプローチが最も適切かを判断するのに十分な詳細を提供していません。(たとえば、これらの「ホットスポット」領域をクリックする前または後にグラフィカルに表示する必要があるかなど)。

最も基本的なアプローチを取るには、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;
        }
    }
}
于 2013-02-03T20:25:38.973 に答える