2015-01-28 25 views

Trả lời

12

Bạn bẫy mouseDown sự kiện tương ứng

import Cocoa 

class MyView : NSView { 
    override func mouseDown(theEvent : NSEvent) { 
     println("left mouse") 
    } 

    override func rightMouseDown(theEvent : NSEvent) { 
     println("right mouse") 
    } 
} 

Xem NSResponder cho kỳ diệu hơn.

Swift 4

import Cocoa 

class MyView : NSView { 
    override func mouseDown(with theEvent: NSEvent) { 
     print("left mouse") 
    } 

    override func rightMouseDown(with theEvent: NSEvent) { 
     print("right mouse") 
    } 
} 
+0

Cảm ơn! Nhưng làm thế nào tôi có thể thích ứng với lớp tùy chỉnh này? Hoặc là nó ghi đè mọi NSView? Tôi đã khai báo NSView như 'let theView = NSView()'. Nhưng tôi nghĩ rằng tôi phải xác định rằng biến của tôi phụ thuộc vào 'MyView'? – ixany

+0

NSView không phải là hữu ích, ngoại trừ một vùng chứa cho các chế độ xem khác. Đó là một trong những điều bạn thường phân lớp để có được hành vi bạn cần. Trong trường hợp của bạn, bạn đang phát hiện các nhấp chuột trái và phải và làm điều gì đó với chúng. –

+0

Giải quyết vấn đề của tôi và cũng ... Tôi đã học được rất nhiều về phân lớp. Cảm ơn bạn rất nhiều! – ixany

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