ボタンクリックイベントで2つのアクションを実行するにはどうすればよいですか。たとえば、シングルクリックで1つのアクションを実行し、2回のクリックで連続して別のイベントを実行する必要があります。
質問する
96 次
4 に答える
1
最初のボタンタグを0に設定します
それから
-(IBAction)yourBtnPress:(id)sender
{
UIButton *btn = (UIButton*)sender;
if (btn.tag==0)
{
btn.tag=1;
//singlePress
}
else if(btn.tag==1)
{
//double tap
//if you want other action then change tag
btn.tag=2;
//if you restart task then
btn.tag=0;
}
}
于 2013-01-17T14:44:02.033 に答える
1
でダブルタップジェスチャを使用しUIImageView
ます。UIImageView's
UserInteractionEnabledをTRUEに設定することを忘れないでください。
ImageView.userInteractionEnabled = YES;
于 2013-01-17T14:28:37.670 に答える
1
ここで、 tapCountは、 .hファイルint
で宣言する変数です。
- (void)viewDidLoad
{
tapCount = 0; // Count tap on Slider
UITapGestureRecognizer *gr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(ButtonTap:)];
[button addGestureRecognizer:gr];
}
- (void)ButtonTap:(UIGestureRecognizer *)g
{
/////////////// For TapCount////////////
tapCount = tapCount + 1;
NSLog(@"Tap Count -- %d",tapCount);
/////////////// For TapCount////////////
if (tapCount == 1)
{
// code for first tap
}
else if (tapCount == 2)
{
// Code for second tap
}
}
于 2013-01-17T14:32:57.510 に答える
0
条件付きで使用できますsetAction:
シングルタッチの場合は、を呼び出しますselectorSingleTouch
。
それ以外の場合はを呼び出しますselectorDoubleTouch
。
//これはコンパイラチェックされていません...少なくともこれからいくつかのアイデアを得ることができます
UITapGestureRecognizer *singleTap=[[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doSingleTap)];
singleTap.numberOfTapsRequired = 1;
[self.view addGestureRecognizer:singleTap];
UITapGestureRecognizer *doubleTap=[[UITapGestureRecognizer alloc] initWithTarget: self action:@selector(doDoubleTap)];
doubleTap.numberOfTapsRequired = 2;
[self.view addGestureRecognizer:doubleTap];
于 2013-01-17T14:23:31.290 に答える