【发布时间】:2011-01-01 02:33:20
【问题描述】:
有时,电话等中断会发生并干扰 iPhone 或 iPad 中应用的正常行为。
例如,我创建了一个 UIScrollView 实例并实现了 UIScrollView 委托方法:scrollViewWillBeginDragging 和 scrollViewDidEndDragging(和 scrollViewDidEndDecelerating)。
scrollViewWillBeginDragging 方法停用了我的应用程序中的所有自定义按钮。 然后 scrollViewDidEndDragging 和 scrollViewDidEndDecelerating 方法激活了这些自定义按钮。也就是说,当用户滚动时,所有自定义按钮都会停用一段时间。
问题是当用户 开始拖动并按住 UIScrollView 实例,如果我拿了一个 按主页按钮截屏 和一个电源按钮,然后是任何 scrollViewDidEndDragging 和 scrollViewDidEndDecelerating 没有 被叫。所以应用程序变得一团糟 起来。
我在我的 UIViewController 中实现了一个 UIApplicationWillResignActiveNotification 方法,但是截屏后它没有被调用。
我怎样才能捕捉到任何干扰正常事件流的中断?
有时,由于中断,touchesEnd 和 touchesCanceled 也没有被调用。
谢谢。
【问题讨论】:
-
如何实现 viewWillAppear 或 viewDidAppear 并测试它们是否在截屏后被调用?然后在这些方法中 if (beingDragged == TRUE) 调用你的 scrollViewDidEndDragging 方法。
-
viewDidScroll 方法即使在中断中也会被调用?可能不是,你有另一种方法来解决你的问题。
-
我是新手,所以我不确定当用户使用不同的视图时为什么要禁用按钮?我从各种阅读中得到的印象是,您唯一想要禁用按钮的情况是当它无法实际执行其功能时,因为缺少某些数据,即没有选择或未填写字段等.
标签: iphone events ipad ios interruption