首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIScrollViewDelegate不触发方法

UIScrollViewDelegate不触发方法
EN

Stack Overflow用户
提问于 2012-06-27 16:21:45
回答 3查看 2.1K关注 0票数 1

我有一个视图,它有一个UIScrollView,带有一些文本(通过JSON加载)。我需要检测用户何时到达了滚动的末尾(我在这里看到了关于它的其他问题),但问题是,我已经完成了.h实现UIScrollViewDelegate,我已经

代码语言:javascript
复制
@property (retain, nonatomic) IBOutlet UIScrollView *scroll;

在我的.h文件中,并在.m文件中合成了它。我的viewDidLoad中有以下内容:

代码语言:javascript
复制
self.scroll=[[UIScrollView alloc]init];
self.scroll.delegate=self;

在接口生成器中建立连接(使用UIScrollView的IBOutlet“滚动”,等等)。

在那之后,我通过调用JSON来完成UITextView,并做其他与scrollView无关的事情。然后,我实现了方法scrollViewDidScroll。但是,它从来没有被调用过。滚动效果很好,让我上下移动来查看整个文本。但是,你知道为什么协议的方法没有被调用吗?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-06-27 16:26:51

你不需要分配和初始化一个新的UIScrollView实例。当您从IB链接它时,它已经完成了。那样的话,你就打破了这种联系。

顺便说一下,您的scroll属性被定义为retain,因此

self.scroll = [[UIScrollView alloc]init];

是内存泄漏。

票数 4
EN

Stack Overflow用户

发布于 2012-06-27 16:26:30

您的UIViewController是否符合UISrollViewDelegate?协议here

请记住以下几点:

UIScrollViewDelegate协议声明的方法允许采用的代理响应来自UIScrollView类的消息,从而响应并在某些情况下影响操作,例如滚动、缩放、减速滚动内容和滚动动画。

没有强制方法,但您需要采用协议才能使用这些方法。

票数 1
EN

Stack Overflow用户

发布于 2012-06-27 17:04:51

那是..。如果您想要调用scrollViewDidScroll方法,我必须以编程方式设置contentSize (尽管滚动做得很好)。

太棒了..。x(

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11222093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档