我已经四处寻找答案并尝试实现它,但是没有任何作用。基本上,我需要能够观察VC视图的子视图数组中的更改。如果从该数组中删除现有视图,则希望收到通知并运行一些代码。
这可能吗?
编辑-更多信息
我正在尝试修复一个奇怪的边缘情况错误,即在UISearchDisplayController(非常自定义)的UISearchBar上快速点击会导致sdController(或者更确切地说是嵌入在navBar效果的管理searchBar)消失在视图中,但sdController仍然处于活动状态。这意味着navBar保持在-y原点,下面的tableView无法滚动。
我的最初想法是达到一个状态,在其中sdController处于活动状态,但UISearchDisplayControllerContainerView不在视图层次结构中。我尝试在VC的viewDidLayoutSubviews中进行测试,但遗憾的是,当您点击搜索栏并启动sdController动画时,sdController处于活动状态,而UISearchDisplayControllerContainerView不在视图层次结构中 :(。
subviews
。但是,当一个视图获得或失去子视图时(如果父视图在屏幕上的视图层次结构中),系统会向该视图发送layoutSubviews
。也许你可以使用自定义的UIView
子类作为父视图,并在layoutSubviews
中执行所需操作。如果这还不够,请编辑你的问题以包含更多关于为什么你想在子视图被移除时得到通知的细节。我们可能能够给你一个更好的解决方案。 - rob mayoff