Nestracking area ...를 사용하는 모든 하위 뷰에서 마우스 이벤트를 끌지 않으면 중첩 된 NSView가있는 NSView가 있습니다.드래그하는 동안 중첩 된 뷰에서 NSView mouseEntered가 호출되지 않습니다. 해킹 만 가능한 옵션입니까?
자식 NSView를 통해 부모 NSView에서 드래그하면 마우스 이벤트가 실행되지 않고 이벤트에 응답하도록하는 방식 만 해킹으로 표시되어 더티 느낌이납니다. 그들이 당신이 그것을두면
NSView *hit = [self findViewUnderPoint:loc];
if (hit != nil)
{
if (hit != last)
{
[last mouseExited:event]; // This looks terrible to me
} else {
[hit mouseEntered:event]; // This looks terrible to me
}
last = hit;
}
당신은 위의 코드 주석 경우
는 하위 뷰 이벤트는 트리거되지 않습니다 ...하지만 내가 직접 전화 드렸습니다.어떻게 작동하는지 먼저 보여준 다음 드래그하여 (해킹으로) 내 비디오를 업로드했습니다 - 내 소스 코드도 포함 시켰습니다. 아마 문제가 당신이 서브 클래스 화하는 방식과 관련이있을 수있는이
https://www.dropbox.com/s/b6ps8tz0jvg2gwy/Designable.zip?dl=0
NSTrackingEnabledDuringMouseDrag를 사용하고 있습니까? – Ssswift
이름 : 귀하의 dropbox.com 링크가 나를 위해 작동하지 않습니다. – Ssswift
@Ssswift - 예 NSTrackingEnabledDuringMouseDrag가 사용됩니다. – Chris