我想在我的应用程序中创建一个类,用于跟踪从屏幕上删除已注册的UIView的时间。例如,它就像调用[MyViewTracker trackView:view]
并等待代理调用或删除时的通知。
由于我不拥有这些视图,因此我无法将它们子类化以通知我,也无法使用KVO跟踪view.superview
或view.window
的更改。我可以不时检查正在跟踪的视图是否仍在显示,但它看起来不是一个好的解决方案。
还有其他解决办法吗?也许还在调整UIView的工作方式?
任何帮助都将不胜感激。
谢谢
答案 0 :(得分:0)
它看起来真的很乱,你应该避免,但你可以调动removeFromSuperview
,调用你的跟踪方法并回调原始实现。那就是你真的需要。
有一篇关于调酒的好文章:https://www.mikeash.com/pyblog/friday-qa-2010-01-29-method-replacement-for-fun-and-profit.html。