2012-06-13 3 views
1

tapGestureRecognizer가 연결된 버튼이 여러 개 있는데, 적절한 조치를 취합니다.터치가 강조 표시되지 않습니다. tapGestureRecognizer

버튼이 너무 많아서 수동으로 IBAction을 연결하지 않아도됩니다.

지금 내가받는 문제는 바로 showsTouchOnHighlight를 표시하지 않는다는 것입니다. 나는이 문제를 해결하는 방법을 몰라, 여기 내가 사용하는 코드는 다음과 같습니다

- (void)tapPress:(UITapGestureRecognizer *)sender { 

    UIButton *resultButton = (UIButton *)sender.view; 

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" 
                 bundle:[NSBundle bundleForClass:[self class]]]; 
    infoView *infoViewController = [storyboard instantiateViewControllerWithIdentifier:resultButton.currentTitle]; 
    infoViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
    [self presentViewController:infoViewController 
         animated:YES 
        completion:nil]; 
} 
+0

이해가 안됩니다. 왜 버튼의 touchUpInside 이벤트를 사용하는 대신 탭 제스처 인식기를 사용하고 있습니까? –

+0

저는 38 개의 버튼을 가지고 있기 때문에 인터페이스 빌더를 통해 모든 버튼을 연결하는 것보다 쉽게 ​​제스처 인식기를 만들 수 있습니다 –

+0

코드로 제스처 인식기를 만드십니까? 'addTarget : action : forControlEvents :'메세지를 사용하여 코드에서 버튼의 타겟과 액션을 설정할 수 있습니다. [Documentation] (http://developer.apple.com/library/ios/documentation/uikit/reference/UIControl_Class/Reference/Reference.html#//apple_ref/occ/instm/UIControl/addTarget:action:forControlEvents) –

답변

2

대신 탭 제스처 인식기를 사용하여 각 버튼에 대한 목표와 행동을 설정 addTarget:action:forControlEvents: 방법을 사용해보십시오. 이렇게하면 펜촉의 각 버튼을 연결하는 수고를 덜 수 있습니다.

관련 문제