gpt4 book ai didi

ios 将父级委托(delegate)指定为其子级之一

转载 作者:行者123 更新时间:2023-11-29 03:28:56 26 4
gpt4 key购买 nike

所以我有一个父类,它是一个 ScrollView ,它有一个 UIView 作为 subview 。我希望每当 ScrollView 滚动时都能够通过委托(delegate)向 subview 发送消息。但是,我似乎无法让它工作,因为通常使用委托(delegate)将通知从 child 发送到 parent 。

所以我本质上做的是这样的:

myScrollView.delegate = myView;
[myScrollView addSubview:myView];

然后在 myView 的实现中我有:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"Scroll view scrolled!");
}

但这不起作用。我已确保将 UIScrollViewDelegate 作为 myView 能够处理的协议(protocol)之一包含在内,但仍然什么也没有。

最佳答案

为什么不在你的 child 身上创建一个方法,保留对它的引用并直接调用它。像这样的东西:

@interface MyCustomView : UIView {

}

-(void)youShouldKnowThatTheScrollScrolled;

@implementation MyCustomView

-(void)youShouldKnowThatTheScrollScrolled {
NSLog(@"OK");

}

@interface MyCustomScrollView :UIScrollView<UIScrollViewDelegate> {
MyCustomView *innerView;
}


@implementation MyCustomScrollView

-(void)someSetupMethod {
self.delegate = self;

}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
[innerView youShouldKnowThatTheScrollScrolled];

}

关于ios 将父级委托(delegate)指定为其子级之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20080775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com