mouseDown/rightMouseDown 이벤트를 처리하기 위해 NSView를 서브 클래스했습니다. 이제 마우스 오른쪽 버튼을 클릭하여 상황에 맞는 NSMenu (IBOutlet)를 팝업으로 표시하려고합니다.팝업 NSView (Swift)를 오른쪽 클릭하십시오.
NSMenu.popUpContextMenu(statusMenu, withEvent: theEvent, forView: self)
...하지만 "statusMenu는 AppDelegate의 멤버가 아닙니다"라고 표시됩니다. 수업 외부의 vars에 어떻게 액세스 할 수 있습니까?
편집 :
IST AppDelegate에에 위치한 함께 IBOutlet :
@IBOutlet weak var statusMenu: NSMenu!
내가 내 사용자 지정 NSView의에서 호출 시도를 :
class customView : NSView {
override func rightMouseDown(theEvent : NSEvent) {
// NSMenu.popUpContextMenu ???
}
}
NSView 또는 AppDelegate의 IBOutlet은 어디에 있습니까? 그리고 NSView를 어디에서 호출하고 있습니까? 또한,'.self'의 점은 오타라고 가정합니다. – Grimxn
위의 내용을 편집했습니다. 맞습니다. IBOutlet은 AppDelegate에 있습니다. 서브 클래 싱 된 NSView에서 NSMenu를 호출하려고했습니다. – ixany