当用户回到NSViewController时执行某些操作

时间:2017-10-03 15:30:05

标签: macos cocoa nsview nsviewcontroller

我来自iOS世界,其中viewDidAppearviewDidDisappear可用于跟踪用户何时切换到其他视图或从中返回。

跟踪与NSViewController关联的视图何时变为“活动”(用户从另一个窗口切换到此视图)的正确方法是什么?

我正在寻找一些回调/方法来覆盖以了解用户转换回视图。

1 个答案:

答案 0 :(得分:2)

macOS上的Cocoa支持viewDidAppear()等。从10.10开始。它的工作原理与iOS相同。

但是,如果您的目标是早期的macOS版本,那么回调将无法正常工作。在这种情况下,您可以近似行为,但这有点棘手。

您可以使用NSWindowDelegate

在窗口级别关注事项

特别是回调windowDidBecomeKeywindowDidResignKey。这些可用于通知您的NSViewControllers。

您还可以在NSView上使用一些有用的方法,尤其是viewWillMove(toWindow:)