iphone – 如何捕获UIScrollView或其他的cancallation?

iphone – 如何捕获UIScrollView或其他的cancallation?,第1张

概述有时,会发生电话等中断,并会干扰iPhone或iPad中应用的常规行为. 例如,我创建了一个UIScrollView实例并实现了UIScrollView委托方法:scrollViewWillBeginDragging和scrollViewDidEndDragging(以及scrollViewDidEndDecelerating). scrollViewWillBeginDragging方法停用了我 有时,会发生电话等中断,并会干扰iPhone或iPad中应用的常规行为.

例如,我创建了一个UIScrollVIEw实例并实现了UIScrollVIEw委托方法:scrollVIEwWillBeginDragging和scrollVIEwDIDEndDragging(以及scrollVIEwDIDEndDecelerating).

scrollVIEwWillBeginDragging方法停用了我的应用程序中的所有自定义按钮.
然后scrollVIEwDIDEndDragging和scrollVIEwDIDEndDecelerating方法激活这些自定义按钮.也就是说,当用户滚动时,所有自定义按钮都会暂停一段时间.

The problem was that while the user
started to drag and just held an
UIScrollVIEw instance,if I took a
screenshot by pressing a home button
and a power button,then any of
scrollVIEwDIDEndDragging and
scrollVIEwDIDEndDecelerating dIDn’t
get called. So the app became messed
up.

我在我的UIVIEwController中实现了一个UIApplicationWillResignActiveNotification方法,但在截取屏幕后没有调用它.

我如何能够捕获任何扰乱常规事件的中断?

有时,由于中断,touchesEnd和touchesCanceled也没有被调用.

谢谢.

解决方法 我遇到了同样的问题,并通过使用performSelector:withObject:NSObject的afterDelay方法摆脱它.

在scrollVIEwDIDScroll中:

[NSObject cancelPrevIoUsPerformRequestsWithTarget:yourController];[yourController deactivatebuttons];[yourController performSelector:@selector(activatebuttons) withObject:nil afterDelay:0.5];

您可以尝试这种技术并将其与您提到的其他技术结合使用.希望,那会有所帮助.祝好运!

总结

以上是内存溢出为你收集整理的iphone – 如何捕获UIScrollView或其他的cancallation?全部内容,希望文章能够帮你解决iphone – 如何捕获UIScrollView或其他的cancallation?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1081973.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存