pnm*_*nmn 5 iphone events ipad interruption ios
有时,会发生电话等中断,并会干扰iPhone或iPad中应用的常规行为.
例如,我创建了一个UIScrollView实例并实现了UIScrollView委托方法:scrollViewWillBeginDragging和scrollViewDidEndDragging(以及scrollViewDidEndDecelerating).
scrollViewWillBeginDragging方法停用了我的应用程序中的所有自定义按钮.然后scrollViewDidEndDragging和scrollViewDidEndDecelerating方法激活这些自定义按钮.也就是说,当用户滚动时,所有自定义按钮都会暂停一段时间.
问题是,当用户开始拖动并且只是持有UIScrollView实例时,如果我通过按下主页按钮和电源按钮来截取屏幕截图,则不会调用scrollViewDidEndDragging和scrollViewDidEndDecelerating中的任何一个.所以应用程序搞砸了.
我在我的UIViewController中实现了一个UIApplicationWillResignActiveNotification方法,但在截取屏幕后没有调用它.
我如何能够捕获任何扰乱常规事件的中断?
有时,由于中断,touchesEnd和touchesCanceled也没有被调用.
谢谢.
performSelector:withObject:afterDelay我遇到了同样的问题,并通过使用NSObject 的方法摆脱了它。
在scrollViewDidScroll中:
[NSObject cancelPreviousPerformRequestsWithTarget:yourController];
[yourController deactivateButtons];
[yourController performSelector:@selector(activateButtons) withObject:nil afterDelay:0.5];
Run Code Online (Sandbox Code Playgroud)
您可以尝试此技术并将其与您提到的其他技术结合起来。
希望这会有所帮助。祝你好运!
| 归档时间: |
|
| 查看次数: |
428 次 |
| 最近记录: |