0

我有一个管理视图控制器,当用户选择一个菜单项时,它会切换一组先前分配的子视图控制器中的一个。

当我切换到视图控制器时,我将管理视图控制器的视图连接到子视图控制器中的视图。

[mvc.view addSubview:subvc.view];

一切似乎都很好。

但是,当从视图层次结构中删除该子视图控制器的视图时(例如,在应用程序中切换页面时):

[subvc.view removeFromSuperview];

  • 自定义视图类中的 willRemoveSubview 方法永远不会触发。我已经确认,当我进行 removeFromSuperview 调用时,我是在我的自定义视图类的实例上调用它。

我的自定义视图类中的其他方法确实会触发,例如 viewWillMoveToWindow。

NSView 参考文档说应该调用这个方法?

谁能建议为什么这不起作用?

我在 10.8.2 上运行,使用 Xcode 4.5.2 为 10.7 编译

谢谢

达伦。

4

1 回答 1

1

willRemoveSubview:,顾名思义,是在超级视图上调用的,而不是被移除的子视图。

于 2012-12-13T08:56:29.257 回答