【问题标题】:ObjC doesn't forward scrollViewDidScroll message correctllyObjC 未正确转发 scrollViewDidScroll 消息
【发布时间】:2015-12-10 15:20:24
【问题描述】:

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

但是我无法转发scrollViewDidScroll消息,我发现我从来没有收到过这条消息。 那么有没有人遇到或知道这是什么原因呢? 谢谢...

【问题讨论】:

    标签: ios uiscrollview runtime message forwarding


    【解决方案1】:

    我认为UIScroll 将出于某种性能原因缓存其委托。您必须首先准备您的多播委托。然后将原始委托设置为UIScroll。最后UIScroll 会知道你已经实现了scrollViewDidScroll 方法。

    当您想更改您的多播委托时,请记住为 UIScroll 重置原始委托,如下所示:

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

    【讨论】:

      猜你喜欢
      • 2020-05-05
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      • 2012-10-14
      相关资源
      最近更新 更多