2013-10-14 5 views
0

Я пытаюсь повернуть пользовательский вид, добавленный к главному виду. Я попытался добавить распознаватель жестов к главному виду и подвид. Вот мой кодMy UIRotationGestureRecgonizer обработчик обратного вызова не получает вызов в iOS

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIView *demoView = [[UIView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; 
    UIRotationGestureRecognizer *rg= [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)]; 
    [rg setDelegate:self]; 
    self.view.userInteractionEnabled = YES; 
    demoView.userInteractionEnabled = YES; 
    [demoView addGestureRecognizer:rg]; 
    [self.view addGestureRecognizer:rg]; 
    demoView.backgroundColor = [UIColor orangeColor]; 
    [self.view addSubview:demoView]; 
} 

-(IBAction)handleTap:(UIRotationGestureRecognizer *)recognizer 
{ 
    //NSLog(@"HERE"); 
    recognizer.view.transform = CGAffineTransformMakeRotation([recognizer rotation]); 
    recognizer.rotation = 0; 
    //NSLog(@"AND HERE"); 
} 

ответ

0

проблема заключается в том, что один указатель geturer может быть прикреплен только к одному виду. для ваших требований вам нужны два gesturerecognizers, но вы можете заставить их вызвать один и тот же селектор, поэтому нет необходимости его выполнять два раза.

EDIT: Его трудно найти в документе четко, но учитывая, что свойство view - это единый вид, а не массив или набор или что-то еще, он делает много смысла. Heres Документы: https://developer.apple.com/library/ios/documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/instp/UIGestureRecognizer/view

Следующей EDIT

Это StackOverflow-ответ также иллюстрирует мою точку зрения: Can you attach a UIGestureRecognizer to multiple views? так, кто downvoted моего ответа, по крайней мере, сказать мне, почему.

+0

Спасибо, я понял проблему – TryinHard

+0

@KPTryin - рад, что я мог вам помочь. – katzenhut

Смежные вопросы