Различие между представлениями при использовании UItouch - PullRequest
0 голосов
/ 28 марта 2012

В настоящее время я работаю над проектом в iOS, где я хочу, чтобы команда UItouch отправляла координаты только тогда, когда она находится над определенным «изображением». У меня есть вывод координат с использованием UItouch, но я не могу сделать это только для одной конкретной области.

Насколько мне известно, единственный способ сделать это с помощью представлений. Итак, я сделал новый взгляд в своем mainview, и оттуда у меня проблемы, и я не могу заставить их работать.

Кто-нибудь делал это раньше / может дать мне какой-нибудь совет по этому поводу?

PS - я использую Xcode 4.

Заранее спасибо.

1 Ответ

0 голосов
/ 28 марта 2012

Попробуйте это

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches  anyObject];
if (touch.view==yourImageView) {
    //Coordinate code
}

}

РЕДАКТИРОВАТЬ: Или попробуйте использовать UITapGestureRecognizer

В вашем интерфейсе добавьте UIGestureRecognizerDelegate

@interface ViewController : UIViewController <UIGestureRecognizerDelegate> {

, затем в вашемviewDidLoad добавьте это

UITapGestureRecognizer *tapped = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapMethod)];
tapped.delegate=self;
tapped.numberOfTapsRequired = 1;
[self.view addGestureRecognizer:tapped];

, затем в вашем viewController добавьте эти 2 метода

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    if (touch.view==yourImageView) {
        return YES;
    }
    return NO;
}

-(void)tapMethod {
    //Coordinate code
}

И убедитесь, что у вас есть [yourImageView setUserInteractionEnabled:YES];

...