2012-01-02 32 views
11

UITapGestureRecognizer không hoạt động đối với tôi, tôi tự hỏi nếu có ai có thể giúp đỡ.UITapGestureRecognizer không hoạt động

Dưới đây là định nghĩa quan điểm của tôi:

@interface MainDisplayView : UIView <UIGestureRecognizerDelegate> 

Trong việc thực hiện, tôi có điều này trong một phương pháp được chắc chắn được gọi là:

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(goToPrevious:)]; 
[tapRecognizer setDelegate:self]; 
[tapRecognizer setNumberOfTapsRequired:1]; 
[tapRecognizer setNumberOfTouchesRequired:1]; 
[myView addGestureRecognizer:tapRecognizer]; 

cũng như phương pháp này:

- (void)goToPrevious:(UITapGestureRecognizer*)recognizer { 
    NSLog(@"GO TO PREVIOUS"); 
} 

Tôi đang thử nghiệm trong trình mô phỏng và nhấp vào "myView" - nhưng không có gì xảy ra. Cảm ơn rất nhiều!

Đã chỉnh sửa định dạng mã.

+0

Khi nào thì nhấn vàoMã nhận dạng nhận được gọi? Bạn có chắc myView không phải là không? –

+0

bạn nên chấp nhận câu trả lời của Islam Adel về điều này – d2burke

Trả lời

-1

Bạn đã liên kết ổ cắm IB với myView chưa? Hoặc, nếu bạn đang tạo chế độ xem qua mã và có chế độ xem khác, hãy đảm bảo rằng myView đặt ở trên cùng.

+0

Cảm ơn - làm thế nào để đảm bảo rằng nó nằm trên đầu trang? – user1052610

+0

Nếu bạn thêm addSubview, nó sẽ thêm nó vào đầu, miễn là bạn không thêm bất kỳ khung nhìn nào nữa sau đó. –

+0

@PhilippeSabourin là đúng. ngoài ra, bạn có thể đảm bảo điều này bằng cách gọi '[yourParentView.subviews lastObject]' – denolk

49

Chắc chắn rằng

yourView.userInteractionEnabled = YES;

+0

Làm việc cho tôi! Đã thêm chế độ xem theo chương trình và quên đặt chế độ xem này. – rfsbraz

+0

Đồng thời kiểm tra điều này trong bảng phân cảnh để xem mục tiêu. –

1

Hãy chắc chắn rằng bạn xem là không minh bạch - thiết lập một màu nền:

view.backgroundColor = [UIColor whiteColor]; 

Gesture recognizer cũng sẽ không hoạt động khi quan điểm của alpha là rất gần 0,0.

Các vấn đề liên quan