Avatar
解決しました。 Sierraでも、NSTableCellViewの子のNSTextFieldに mouseDown イベントは到達していない状態でした。 それでもSierraでは、 そのNSTextField にaddされたNSClickGestureRecognizerは動作するようでした。 一方HighSierraでは、NSTextFieldにmouseDownイベントが到達しない状況においては、それに追加された NSClickGestureRecognizer も動作しないようでした。 NSGestureRecognizerDelegateの shouldRecognizeSimultaneouslyWith でもだめで、そもそもそれ自体呼び出されませんでした。 このmouseDownイベントが到達しないのは NSTableView の仕様で、 validateProposedFirstResponder をオーバライドして挙動に手をいれてやることで到達するようにできました。 この状況では、 GestureRecognizer も期待通りに動作しました。 この TableView の挙動、仕様については、下記の Specifying How Subviews Should Respond to Events に情報がありました。 https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/TableView/RowSelection/RowSelection.html#//apple_ref/doc/uid/10000026i-CH6-SW9
✍🏻 2