2011-02-09 9 views
0

私は様々なUIButtons(5 x 5)のグリッドを持っています...今私はUIControlEventTouchUpInsideを持っています..これは、ユーザーが様々なボタンを選択したいときは、 ...UIButtonグリッドは同じ時間ドラッグをアクティブにします

ユーザーがさまざまなボタンに指をドラッグしているときに、ボタンをアクティブにするにはどうすればよいですか。

for (i = 0; i < num_caselles; i++) 
{ 
    lletra = [[UIButton alloc] initWithFrame:CGRectMake(POS_H, POS_V, mida_boto, mida_boto)]; 
    [botones addObject: lletra]; 
    [lletra setTitle: [caselles objectAtIndex: i] forState: UIControlStateNormal]; 
    lletra.tag = i; 
    [lletra addTarget:self action:@selector(lletraPitjada:) forControlEvents: UIControlEventTouchUpInside]; 
} 

答えて

0

okが最終的に私はこの方法を解決しましたボタン:

lletra.userInteractionEnabled = NO; 

...すべてが完璧に動作しています...

0

あなたはまたに反応することができます:これらのケースを処理するために

UIControlEventTouchDragEnterまたは UIControlEventTouchDragExit

ここ

は、私が使用するコードです。私のために働いていないので、ボタンセットのアクションをコメント/

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    UITouch *touch = [[event touchesForView:self] anyObject]; 
    CGPoint location = [touch locationInView:touch.view]; 


    for(UIButton*boton in botones) 
    { 
    if(CGRectContainsPoint([boton frame], location) && boton.tag != boton_anterior) 
    { 
     boton_anterior = boton.tag; 
     [self lletraPitjada:boton]; 
    } 
    } 

} 

は私が上書き:

//[lletra addTarget:self action:@selector(lletraPitjada:) forControlEvents: UIControlEventTouchDragEnter]; 

と非アクティブユーザーとの対話を、UITouchは好まないので

+0

はい私もこのイベントを試してみましたが、動作していません。最初のボタンだけがドラッグに反応し、他は影響しません。 – david

関連する問題