Fog*_*ter 1 cocoa-touch objective-c uikit uiview ios
我有一个属于UIView子类的重复计时器.
该类有一个加载它的笔尖,我正在使用ARC.
当UIView要么......我想让计时器无效...
我似乎无法在UIView上找到像viewDidDisappear这样的方法.
有没有其他方法来拦截这个?
此时,在弹出ViewController后,计时器会持续触发并创建NSLog输出.
对于弹出的视图控制器:只使用viewDidDisappear或类似.也UINavigationControllerDelegate有可能有用.
对于视图本身:你尝试过使用willMoveToSuperview:方法UIView吗?我没有验证这一点,但理论上,nil当从超级视图中删除视图时,视图将转移到superview.
因此,请在您的视图中尝试以下操作
- (void)willMoveToSuperview:(UIView *)superview {
if (!superview) {
// cancel timers
}
}
Run Code Online (Sandbox Code Playgroud)
还有一个willRemoveSubview:方法,但是会在superview上调用而不是删除视图.
| 归档时间: |
|
| 查看次数: |
552 次 |
| 最近记录: |