我对编程和Objective C非常陌生。我想知道如何制作一个应用程序,其中有一个空白屏幕和一分钟的计时器。你的目的是尽可能快地挖掘,只要你可以。我想知道如何在我的代码中实现UITapGestureRecognizer
。如何将UITapGestureRecognizer实现到我的应用程序中
回答
这是如何实现你的类手势识别一步一步的指导:
顺应你的类
UIGestureRecognizerDelegate
协议。实例化手势识别器。例如,实例化一个
UITapGestureRecognizer
,我们会做:UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapFrom:)];
这里,动作是将处理手势选择。在这里,我们的选择器handleTapFrom将如下所示:
- (void) handleTapFrom: (UITapGestureRecognizer *)recognizer { //Code to handle the gesture }
选择器的参数是手势识别器。我们可以使用这个手势识别器来访问它的属性,例如,我们可以发现手势识别的状态一样,
UIGestureRecognizerStateBegan
,UIGestureRecognizerStateEnded
等坐落在实例化的手势识别所需的性能。例如,对于
UITapGestureRecognizer
,我们可以设置属性numberOfTapsRequired
和numberOfTouchesRequired
。将手势识别器添加到要检测手势的视图。在我们的示例代码(我将分享给大家参考的代码),我们将手势识别器添加到的ImageView与下面的代码行:
[self.imageView addGestureRecognizer:tapGestureRecognizer];
增加手势识别到视图后,设置代表手势识别器,即将处理所有手势识别器的类。在我们的示例代码,它会像:
tapGestureRecognizer.delegate = self;
注:增加手势识别到视图后指定的代表。否则,该操作方法将不会被调用。
对不起,不恰当的格式! – 2012-07-06 04:17:31
非常感谢您的帮助! – 2012-07-06 04:18:07
没什么好担心的。标记下来的格式有一个学习曲线。 – nhahtdh 2012-07-06 04:18:39
UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
[self.tableView addGestureRecognizer:gestureRecognizer];
self.tableView.userInteractionEnabled = YES;
gestureRecognizer.cancelsTouchesInView = NO; // this prevents the gesture recognizers to 'block' touches
实例斯威夫特:
import UIKit
class ViewController: UIViewController {
@IBOutlet var myUIImageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
let singleTap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "myUIImageViewTapped:")
singleTap.numberOfTapsRequired = 1
singleTap.numberOfTouchesRequired = 1
self.myUIImageView.addGestureRecognizer(singleTap)
self.myUIImageView.userInteractionEnabled = true
}
func myUIImageViewTapped(recognizer: UITapGestureRecognizer) {
if(recognizer.state == UIGestureRecognizerState.Ended){
println("myUIImageView has been tapped by the user.")
}
}
}
没错,userInteractionEnabled是必不可少的。谢谢! – 2015-04-02 11:55:24
我不明白为什么需要检查“recognizer.state == UIGestureRecognizerState.Ended”。我测试了这一点,它没有它也能正常工作。我的假设是,你需要它多点击手势识别器,但只需一次敲击,我们是否仍然需要它? – plam4u 2016-07-05 10:16:33
如果您正在斯威夫特(iOS9)和SpriteKit,请尝试以下。
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
let singleTap = UITapGestureRecognizer(target:self, action:#selector(self.handleSingleTap:))
singleTap.numberOfTouchesRequired = 1
singleTap.addTarget(self, action:#selector(self.handleSingleTap))
view.userInteractionEnabled = true
view.addGestureRecognizer(singleTap)
}
//event handler
func handleSingleTap(sender:UITapGestureRecognizer){
print("tapped")
}
}
- 1. 如何实现openAM SSO到我现有的Web应用程序
- 2. 如何实现SQLite到应用程序?
- 3. 如何将UIScrollView实现到SwitchViewController应用程序中?
- 4. 我如何在我的应用程序中实现云计算?
- 5. 如何实现谷歌地图到我的Rails应用程序?
- 6. 如何实现Facebook到我的应用程序
- 7. 如何实现加盟链接到我的web应用程序?
- 8. 如何实现OAuth到我的Nodejs/Sails.js应用程序?
- 9. 如何实现应用程序在我的应用
- 10. 如何在我的应用程序中实现EGOPhotoViewer?
- 11. 如何在我的iPhone应用程序中实现FmDatabase?
- 12. 如何在我的应用程序中实现日历?
- 13. 如何在我的VB.Net应用程序中实现XMPP
- 14. 如何在我的简单应用程序中实现反射?
- 15. 如何在我的应用程序中实现SAML
- 16. 如何在我的应用程序中实现代码在iphone
- 17. 如何在我的应用程序中实现装饰器?
- 18. 如何在我的应用程序中实现系统闹钟?
- 19. 如何在我的web应用程序中实现Sha512>?
- 20. 如何在我的web应用程序中实现OpenID?
- 21. 如何在我的应用程序中实现离线阅读
- 22. 我现在如何将我的应用程序添加到我的页面?
- 23. 如何实现应用程序协议
- 24. 如何实现应用程序更新?
- 25. 如何实现提醒应用程序?
- 26. 我们如何实现我们的应用程序也可以转移到SDCard?
- 27. 我如何实现谷歌/ Facebook登录到我的应用程序?
- 28. 如何实现的log4net我的Asp.net MVC应用程序
- 29. 如何实现我的Android应用程序的以下结构?
- 30. 如何将我的应用程序添加到Google应用程序中
帮助自己:https://github.com/nhahtdh/PS3/blob/master/Game/GameBlock.m – nhahtdh 2012-07-06 04:10:18