2010-09-02 31 views
7

Tự hỏi liệu có ai đã viết hoặc đi qua một cách hay để đăng nhập vào giao diện điều khiển mà chế độ xem đã xảy ra. Tôi biết touchesEnded: có thể được triển khai, nhưng vấn đề của tôi là đang chặn các lần chạm trên các quan điểm của tôi và tôi không biết nó là gì. Tôi chỉ muốn biết những gì đang ngăn chặn các chạm.iOS - công cụ gỡ lỗi để phát hiện chế độ xem được chạm vào

Tôi muốn đăng nhập vào giao diện điều khiển:

"Touch xảy ra theo quan điểm: nameOfSomeUIView"

Trả lời

14

Mỗi đối tượng UITouch có một tài sản quan điểm mô tả là "Quan điểm, trong đó các liên lạc ban đầu xảy ra." Bạn có thể phân lớp UIWindow và ghi đè phương thức sendEvent. Khi bạn triển khai sendEvent, bạn có thể gọi [super sendEvent: event] và sau đó kiểm tra thuộc tính chế độ xem của tất cả các lần chạm thuộc về sự kiện.

Làm mẹo chung: Kiểm tra phương thức hitTest của chế độ xem nếu UITouches của bạn không hoạt động như mong đợi. Bạn có thể ghi đè phương thức này để xem chế độ xem nào sẽ nhận được chạm.

+0

Tôi có lớp con UIWindow và đã sử dụng loại phân lớp trong App Delegate. Tôi đã thực hiện - (void) sendEvent: (UIEvent *) sự kiện trong lớp con, nhưng nó không bao giờ được gọi. – sol

+0

Trên thực tế, tôi sẽ nhận được sendEvent ngay bây giờ. Bạn có thể đề xuất cách tìm xem chế độ xem nào đang được chạm vào không? – sol

+0

Đã tìm ra cách kéo liên lạc ra khỏi UIEvent. Tôi có thể nhận được địa chỉ bộ nhớ của chế độ xem đang được chạm vào. Sẽ rất tuyệt nếu tôi có thể lấy tên của nó. – sol

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