- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试在触摸时点亮 View 并在触摸结束时取消点亮。在执行此操作时,我注意到当我从 View 中抬起手指时,- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
方法未被调用,而是 - 在 View 上调用 (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
方法。这是正常行为吗?我认为如果由于低内存警告等系统问题而取消触摸,则会调用 touchesCancelled
。我通过使用 touchesCancelled 完成了我的工作,但我想知道为什么它没有正确调用 touchesEnded
。是错误吗?
最佳答案
这不是正常行为。抬起手指时,应调用 touchesEnded。
touchesCancelled 应该在你的 View 在触摸过程中被移除或系统事件发生时被调用(例如,当你的手指触摸屏幕时锁定手机)
请参阅 touchesEnded 的文档和 touchesCancelled .
如果没有您的代码,就无法判断发生了什么。然而,似乎即使您设法按应有的方式调用 touchedEnded,您也会想要对这两种情况做出回应。迅速:
class MyView: UIView {
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
stopGlow()
}
override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {
stopGlow()
}
private func stopGlow() {
//Your code here...
}
}
关于ios - 调用 touchescancelled 而不是 touchesended,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10325776/
我正在尝试在触摸时点亮 View 并在触摸结束时取消点亮。在执行此操作时,我注意到当我从 View 中抬起手指时,- (void)touchesEnded:(NSSet *)touches withE
我认为这个问题值得单独提问。使用我的解决方案附带的代码 another problem我发现了此处描述的问题。 我将主视图 Controller 设置为 UIGestureRecognizerDele
好的,我在 Xcode 4.5/iOS 6 上使用选项卡式应用程序模板测试了以下内容。 创建了一个选项卡式应用程序。 创建了一个名为 SampleButton 的 UIButton 子类并实现了以下方
概览 我正在开发一个 iPhone 游戏,它的代码是从另一个开发者那里继承来的。游戏网格是一个 contentSize 为 1000x1000 的 UIScrollView。网格包含通过 OpenGL
在我的项目中,我有一个主视图,我在其中添加了一个 UITapGestureRecognizer,在这个主视图中,我有一个 subview ,它是一个自定义的 UIControl,我将其称为 UICus
谁能帮我确定我的应用崩溃的原因,或者我如何更好地及早发现崩溃以了解是哪行代码导致了崩溃? 这是来自 Crashlytics 的崩溃日志: #0 Crashed: com.apple.main-thre
我的应用程序中有一个圆形 View ,我在该圆形 View 中移动了一些对象,例如图形,它在 90% 的情况下工作正常,但在某些情况下它不会调用 TouchEnded我的重置图形代码在 TouchEn
作为 iOS 编程新手,我正在努力解决 a word game for iPhone . 应用结构为:scrollView -> contentView -> imageView -> image 1
我目前正在尝试为 iPhone 编写音乐播放器应用程序。设计的一部分是可以在歌曲列表的单个条目上滑动以显示其他选项(例如在 iOS 7 Mail.app 中)。 我在自定义 UITableViewCe
我是一名优秀的程序员,十分优秀!