0

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

- (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 里面,可以吗?

谢谢

4

3 回答 3

0

您缺少识别器委托。实施。您还应该将UIGestureRecognizerDelegate协议添加到头文件并生成recognizer.delegate = self.

回复:获得标题-您可以获得标题。在您的点击事件处理程序中,您可以从发送者对象中提取该信息。稍后我会发布一些代码...

于 2010-11-16T11:02:14.973 回答
0

您无需使用手势识别器来检测何时按下按钮。一个按钮知道它何时被按下!

尝试:

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

  // Other stuff
}

-(void)tapped:(id)sender {
  NSLog (@"I'm in tapped!");
}
于 2010-11-16T11:02:44.583 回答
0

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

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

类似的问题:UIButton 上的 UITapGestureRecognizer

于 2010-11-16T11:03:21.020 回答