由于简单的任务变成了地狱,我正在严重失去我的头发。所以我有UIScrollView子类 - MyScrollView和UIViewController子类StoryViewController使用该滚动视图。我需要知道滚动滚动的时间,所以我该怎么办?我试着委托!
// StoryViewController.h
@interface StoryViewController : UIViewController <UIScrollViewDelegate>
// StoryViewController.m
// init
scrollView = [[MyScrollView alloc] init];
scrollView.delegate = self;
// delegated function
- (void)scrollViewDidScroll:(UIScrollView *)s {
NSLog(@"TEST");
}
编辑:一些NSLogs
Self: <StoryViewController: 0xfce090>
ScrollView Delegate: <StoryViewController: 0xfce090>
WebView Delegate: <StoryViewController: 0xfb1a30>
编辑:UIWebView子类(MyWebView)是MyScrollView的子视图,并且(void)webViewDidFinishLoad:(UIWebView *)webView(在同一个storyviewcontroller.m中)打印消息。
没有错误,构建正常,运行正常。滚动后 - 没有任何内容被打印出来。
我做错了什么?
答案 0 :(得分:4)
这可能是一个红色的鲱鱼,但你正在调用alloc和init,而不是alloc和initWithFrame:。我假设您在viewDidLoad方法中添加了scrollView?这是一个基于XIB的控制器吗?您是否尝试在XIB文件中添加scrollview并在那里进行设置?您是否尝试过添加其他委托方法?
答案 1 :(得分:3)
您确定scrollView
实际上是显示的滚动视图吗?我能想到的一些事情,我会按照绝望的顺序检查:
答案 2 :(得分:0)
所以,再一次,愚蠢的奖励就是狡猾的。事实上,UIWebView被无情地添加到UIScrollView中,所以对我而言“我的上帝,我的滚动视图正在工作”,而它仍然是UIWebView自己滚动。
抱歉,我的愚蠢。谢谢大家试图帮助我,下次我会添加更多代码示例,这样你就可以看到发生了什么,并嘲笑我的错误:))
如果有人想给我一个例子如何正确使用ScrollView和WebView,那么ScrollView将负责所有的滚动,我会非常感激。