手机识别是否适用于按钮?

时间:2010-11-16 09:45:26

标签: iphone objective-c ipad gesture-recognition

在我的应用程序中,我编写了以下代码行:

- (void)viewDidLoad {
[super viewDidLoad];

UITapGestureRecognizer *tapper = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];

[mybutton1 addGestureRecognizer:tapper];
[mybutton2 addGestureRecognizer:tapper];
[mybutton3 addGestureRecognizer:tapper];

    [tapper release];
}

-(void)tapped:(UIGestureRecognizer *)sender{
NSLog(@"I'am in tapped");


}

但没有发生任何事。为什么?如果我需要点击按钮的currentTitle,我可以吗?

谢谢

3 个答案:

答案 0 :(得分:0)

你错过了识别器代表。实现这一点。您还应该将UIGestureRecognizerDelegate协议添加到头文件中,然后生成recognizer.delegate = self

re:获得头衔 - 你可以获得冠军。在您的点击事件处理程序中,您可以从发件人对象中提取该信息。我稍后会发布一些代码......

答案 1 :(得分:0)

您无需使用手势识别器来检测按下按钮的时间。按钮知道什么时候被按下!

尝试:

{
  // Blah...
  [myButton addTarget:self action:@selector(tapped:) forControlEvents:UIControlEventTouchUpInside];

  // Other stuff
}

-(void)tapped:(id)sender {
  NSLog (@"I'm in tapped!");
}

答案 2 :(得分:0)

手势识别器一次只能附加到一个视图。使用IBAction可以轻松地处理按钮上的单击。您可以创建一个IBAction并将所有三个按钮连接到它。

- (IBAction)tapped:(id)sender {
UIButton *button = (UIButton *)sender;
NSLog(@"%@", button.titleLabel.text);
}

类似的问题:UITapGestureRecognizer on a UIButton