ObjC无法正确转发scrollViewDidScroll消息

时间:2015-12-10 15:20:24

标签: ios uiscrollview runtime message forwarding

我想为UIScrollViewDelegate使用多播委托技术。我的总体想法与此类似: https://github.com/tkach/MulticastDelegate/blob/master/MulticastDelegate/MulticastDelegate.m

但是我无法转发scrollViewDidScroll消息,我发现我从未收到此消息。 那么有人遇到或知道这个的原因吗? THX ...

1 个答案:

答案 0 :(得分:0)

我认为UIScroll会因某些性能原因而缓存其委托。您必须首先准备多播代理。然后为UIScroll设置原始委托。最后,UIScroll会知道您已实施scrollViewDidScroll方法。

如果要更改多播委托,请记住重置UIScroll的原始委托,如下所示:

self.scrollView.delegate = nil;
self.scrollView.delegate = yourMulticastDelegate;