Skip to Content
Swift游戏开发经典实例
book

Swift游戏开发经典实例

by Jonathon Manning, Paris Buttfield-Addison
January 2020
Intermediate to advanced
356 pages
6h 4m
Chinese
China Electric Power Press Ltd.
Content preview from Swift游戏开发经典实例
100
3
}
}
}
讨论
创建一个自定义手势识别器的第一步是导入
UIGestureRecognizerSubclass.h
头文
件。在这个头文件中,将
UIGestureRecognizer
类的
state
属性重新定义为可读写
属性,因此我们就可以在子类中修改
state
属性。接下来的事情就非常简单了,例
如监听触摸事件,根据手指的移动来改变
state
属性。
手势识别器利用
touchesBegan
touchesMoved
touchesEnded
以及
touchesCancelled
方法来识别触摸(这和
UIView
是完全一样的)。其实手势识别
器的作用就是跟踪一切有用的信息,并据此来修改手势的状态。
手势识别器不会直接与目标对象打交道;它仅仅会修改
state
属性的值,这些
state
值会用来表示手势的开始、更新、结束、取消等状态。
一旦手势识别器识别出某个手势,它的
state
属性会立即变成
UIGestureRecognizerStateBegan
。同时手势识别系统会向目标对象发送消息。同样,
当手势识别器感知到手势发生了变化,它会将
state
属性更新为
changed
手势识别器的一个重要状态是
failed
,即“失败”。对于复杂手势来说,很可能
识别器已经识别出的手势最终演变成它所不能识别的手势。例如,当拖拽手势识别
器在屏幕上发现了一个轻触动作,它可能认为这是一个拖拽手势的开始,但其实未
必,除非这个触摸接下来开始移动。如果这个触摸很快就离开了,拖拽手势识别器
就会改变到失败状态。如果是这样,就会允许其他手势识别器继续识别。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

精通機器學習

精通機器學習

Aurélien Géron
FreeBSD® Unleashed

FreeBSD® Unleashed

Brian Tiemann, Michael C. Urban
深入淺出代數

深入淺出代數

Tracey Pilone, Dan Pilone
Swift学习手册

Swift学习手册

Jon Manning, Paris Buttfield-Addison, Tim Nugent

Publisher Resources

ISBN: 9787519840129