ios - 当 UIView 与其 superView 分离时如何得到通知?

原文 标签 ios iphone uiview key-value-observing

UIView 似乎没有“didRemoveFromSuperview”或“willRemoveFromSuperview”之类的方法。那么,当 UIView 从其 superView 中删除时如何监听事件?我应该使用 KVO?提前致谢!

最佳答案

这有效(在 iOS8 上测试):

-(void) didMoveToWindow {
    [super didMoveToWindow]; // (does nothing by default)
    if (self.window == nil) {
        // YOUR CODE FOR WHEN UIVIEW IS REMOVED
    }
}
According to the UIView docs :

The default implementation of this method does nothing. Subclasses can override it to perform additional actions whenever the window changes.

The window property may be nil... This occurs when the receiver has just been removed from its superview or when the receiver has just been added to a superview that is not attached to a window.

关于ios - 当 UIView 与其 superView 分离时如何得到通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3074933/

相关文章:

ios - View Controller 的对象快速隐藏在视频背景后面

ios - 两个 NSMutableArray 根据第一个对象排序

iphone - 从我在屏幕上滑动的方式给出项目方向和速度

ios - 以编程方式设置 UIButton 的中心 - SWIFT

ios - 确定 `UIView` 是从 XIB 加载还是从代码实例化

ios - 谷歌自定义搜索 : 403 error in iOS

ios - 愿意在 Swift 中调整 View 大小时的错误消息

iphone - 为什么模拟器 iPhone/iPad 与 iPhone Retina(4 英寸)和 iPhone Retina(4 英寸 64 位)给出不同的结果

iphone - uiwebview 子类中的保留复制

ios - 处理具有底部约束的键盘