Каковы координаты, используемые в UIViews и их соответствующих наблюдениях? У меня есть этот код, который я хотел бы, чтобы обнаружить «коридор», в котором пользователь может коснуться ... похожий на это изображение: alt text http://img17.imageshack.us/img17/4416/bildschirmfoto20100721u.pngКоординаты местоположения UIView координаты
Это код, у меня есть:
CGPoint touch = [recognizer locationInView:[shuttle superview]];
CGPoint centre = shuttle.center;
int outerRadius = shuttle.bounds.size.width/2;
int innerRadius = (shuttle.bounds.size.width/2) - 30;
if ((touch.x < outerRadius && touch.y <outerRadius)){
NSLog(@"in outer");
if(touch.x > innerRadius && touch.y > innerRadius) {
NSLog(@"in corridor");
}
}
Радиусы примерно 500 и 600, а touch
x и y - 100 и 200 ...
Таким образом, NSLog «в коридоре» никогда не вызывается.
Thanks
Я исчисляю радиусы вправо? – joec
@joec: Нет. Радиус должен быть просто «shuttle.bounds.size.width/2'. Вы вычисляете окружность. – kennytm
Итак, мой взгляд шириной 200, таким образом externalRadius = 100, в первом 'if', r2 <100 * 100 всегда будет true, так как 10 000 всегда больше. Я хочу, чтобы в коридоре было указано 30 точек в ширину, поэтому innerRadius = 70, поэтому 70 * 70 снова всегда больше r2. Должны ли координаты находиться в супервизии «челнока», как они есть сейчас? Большое спасибо. – joec