我有一個嵌入在NSScrollView IKImageBrowserView,以幫助測試這個問題IKImageBrowserView只填充了NSScrollView的一半寬度。NSEventPhaseEnded沒有調用NSScrollView與IKImageBrowserView
我的NSScrollView子類實現了以下方法並在滾動開始並在滾動視圖上結束時記錄日誌。
- (void)scrollWheel:(NSEvent *)event {
switch (event.phase) {
case NSEventPhaseBegan:
NSLog(@"NSEventPhaseBegan");
break;
case NSEventPhaseEnded:
NSLog(@"NSEventPhaseEnded");
break;
}
[super scrollWheel:event];
}
的NSEventPhaseBegan事件階段成功調用光標是否在IKImageBrowserView與否,當你開始滾動。這是預期的行爲。
但是當停止滾動時光標停留在IKImageBrowserView上時,不會調用NSEventPhaseEnded事件階段。如果遊標不在IKImageBrowserView上,那麼NSEventPhaseEnded會被調用。
爲什麼IKImageBrowserView阻止在我的NSScrollView上調用NSEventPhaseEnded?