在iOS中从视图中删除祖先视图时的通知

在iOS中从视图中删除祖先视图时的通知,ios,uiview,Ios,Uiview,我特别感兴趣的是,一个子UIView收到通知,它的一个祖先UIView已从层次结构中删除 我知道UIViewController上的回调,但这并不能解决通知子UIView它们已从层次结构中删除的问题,除非我手动遍历所有子视图并依次通知它们不再显示。您可以将UIView子类化并实现方法将删除子视图: 来自苹果文档: 通知视图即将删除子视图 我想知道何时删除父视图或父/父(祖先)非子视图。是否尝试观察superview属性?如果删除层次结构上更高级别的祖先,这会有什么帮助?我目前实际上不在开发环境中

我特别感兴趣的是,一个子UIView收到通知,它的一个祖先UIView已从层次结构中删除


我知道UIViewController上的回调,但这并不能解决通知子UIView它们已从层次结构中删除的问题,除非我手动遍历所有子视图并依次通知它们不再显示。

您可以将
UIView
子类化并实现方法
将删除子视图:

来自苹果文档:

通知视图即将删除子视图


我想知道何时删除父视图或父/父(祖先)非子视图。是否尝试观察
superview
属性?如果删除层次结构上更高级别的祖先,这会有什么帮助?我目前实际上不在开发环境中,因此无法尝试。然而,如果你有任何洞察为什么这样的事情可能会工作,这将是赞赏。我的理解是superview是直系祖先的一个属性,从superview中删除子视图不会自动删除整个子树,因此superview不应该导致更改事件。我可能错了,稍后会尝试,但我非常怀疑会发生什么。是的,你是对的。如果所有superview都被删除,它将工作。
- (void)willRemoveSubview:(UIView *)subview