2012-02-10 18 views
6

Tôi đang phải đối mặt với một hành vi kỳ lạ với Cocoa NSView trên Mac OS X.NSView chuột theo dõi

Tôi đã một NSView tùy chỉnh trong một container NSView, tùy chỉnh này NSView theo dõi phong trào chuột, nhấp chuột và có một tooltip. Khi tôi thêm NSView phía trên chế độ xem được mô tả, tôi vẫn có thể nhìn thấy các chú giải công cụ ngay cả khi chế độ xem có chú giải công cụ ở dưới, phía sau và không hiển thị.

Tôi khá chắc chắn rằng tôi đã hiểu nhầm điều gì đó trong chuỗi xử lý sự kiện.

Bất kỳ trợ giúp nào thực sự được đánh giá cao! ;)

Have a nice weekend,

Paolo

Trả lời

0

Nếu bạn không sử dụng nó nữa, bạn có thể gọi phương thức removeFromSuperview.

NSView *myView 
[myView alloc] init] 
// do stuff 
[myView removeFromSuperview] 

nếu bạn chỉ không muốn nó nhận được sự kiện mà bạn có thể gọi phương thức resignFirstResponder

NSView *myView 
[[myView alloc] init] 
// do stuff 
[myView resignFirstResponder] 
1

Vấn đề cốt lõi là bạn đang không được phép có quan điểm chồng chéo trong Cocoa. Hoặc ít nhất, hành vi sau đó trở thành không xác định. Chế độ xem có thể là chế độ xem phụ của chế độ xem khác, nhưng không chỉ đơn giản là anh chị em trong giới hạn của chế độ xem khác.

Tuy nhiên, một cách để giải quyết vấn đề cụ thể của bạn là đặt chế độ xem bên dưới ẩn, sử dụng phương thức setHidden:.

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