gpt4 book ai didi

Objective-C - ScrollView 事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:50:08 25 4
gpt4 key购买 nike

我找到了一些可以完全解决我的问题的答案,但似乎我遗漏了一些步骤。我只是想拦截 ScrollView 的“ViewDidBlablabla”事件,所以我创建了一个自定义的 UIScrollView 类。

MyScrollView.m

#import "MyScrollView.h"

@implementation MyScrollView

- (id)initWithFrame:(CGRect)frame{
NSLog(@"initWithFrame");
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}

-(void)scrollViewWillBeginDragging:(UIScrollView*)scrollView{
NSLog(@"scrollViewWillBeginDragging");
//scrollView.contentOffset
}

-(void)scrollViewDidScroll:(UIScrollView*)scrollView{
NSLog(@"scrollViewDidScroll");
}

-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{
NSLog(@"scrollViewDidEndScrollingAnimation");
}

@end

MyScrollView.h

#import <UIKit/UIKit.h>

@interface MyScrollView : UIScrollView <UIScrollViewDelegate>

@end

当我分配我的自定义 ScrollView 时,我确实收到了控制台消息“initWithFrame”,但无法访问其他事件。我错过了什么?

如果您需要其他一些代码,请随时询问,但由于我使用了自定义的“initWithFrame”方法,我想错误应该出在这里。

最佳答案

尝试将您的 View 设置为其自身的委托(delegate):

if (self) {
// Initialization code
self.delegate = self;
}

从技术上讲,您不需要继承UIScrollView响应滚动事件:设置 delegate 就足够了到 <UIScrollViewDelegate> 的实现.

此外,the scrollViewDidEndScrollingAnimation: method has been gone for about two years ,因此不会在现代 iOS 安装上调用它。

关于Objective-C - ScrollView 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399952/

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