我有自己的jpg,我想做类似的事情:
声明区域,点击此类弹出窗口后会显示。我怎样才能做到这一点?我尝试过使用地图视图,但我认为这不正确。
答案 0 :(得分:2)
有许多方法可以实现,但是您没有提供足够的细节来确定哪种方法最合适。 (例如,您是否需要在点击之前或之后以图形方式显示这些“热点”区域。)
要采用最基本的方法,您可以定义基于CGRect的对象数组,然后在触摸事件中测试触摸点是否在任何rects内。
// 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;
}
}
}