如何从UIViewController访问scrollViewDidScroll

时间:2013-03-31 16:17:52

标签: ios objective-c

我有一个视图控制器,其中嵌入了UIScrollView作为子视图。我把它嵌入如下:

CaptionViewController:UIViewController

内部ViewDidLoad

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
scrollView.contentMode = (UIViewContentModeScaleAspectFit);
scrollView.contentSize = CGSizeMake(3200, 320);
scrollView.pagingEnabled = YES;
[self.view addSubview:scrollView];

接下来我正在尝试连接scrollViewDidScroll事件,这样每次用户滑动滚动视图时我都可以执行一些代码。但是,我可以弄清楚如何访问此事件。我认为答案在于某种程度上的代表团。我尝试导入UIScrollView.h并将scrollView委托设置为CaptionViewController,如下所示:

[scrollView setDelegate:self]

仍然无法访问scrollViewDidScroll。有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:4)

除了设置滚动视图的委托外,还必须在CaptionViewController.m中实现委托方法。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    // handle scroll event
}

还要确保您的CaptionViewController符合UIScrollViewDelegate协议。在.m文件中:

@interface CaptionViewController () <UIScrollViewDelegate>

@end

无需导入UIScrollView.h。你已经知道了。