2012-03-16 4 views
0

게임 UIView의 터치 이벤트를 비활성화하려고 시도했지만 userInteractionEnabled = NO을 설정해도 아무런 효과가없는 것 같습니다. 이것은 내가 App에서 가지고있는 유일한 견해이다.userInteractionEnabled가 터치 이벤트를 비활성화하지 않습니다.

보기에 isUserInteractionEnabled을 확인하면 NO를 반환합니다.

UIView가 아니라 내 -(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event 메시지를 받고 있습니다. 루트 UIViewController를 추가 한 이후로 더 이상 UIView에 터치 이벤트를 보내지 않습니다.

여기 뭔가 잘못 되었나요? userInteractionEnabled = NO을 설정하면 모든 터치 이벤트가 중지됩니다.

+0

viewController.view.userInteractionEnabled = NO도 설정해보십시오. –

답변

0

일부 구성 요소의 경우 인터페이스 작성기에서 사용자 상호 작용 사용을 선택 취소하면 구성 요소가 실제로 해당 설정을 무시합니다. UITextView는이 동작의 예입니다. 이 문제를 해결하기 위해 awakeFromNib 메서드와 initWithFrame 메서드에서 명시 적으로 userInteractionEnabled를 NO로 설정하는 방법을 발견했습니다. 서브 클래스 예제;

-(void) awakeFromNib { 
    [self setup]; 
} 
-(id) initWithFrame:(CGRect) frame { 
    self = [super initWithFrame: frame]; 
    if(self) { 
     [self setup]; 
    } 
} 
-(void) setup { 
    self.userInteractionEnabled = NO; 
} 
관련 문제