Сетка UIButton активирует одновременное перетаскивание - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть сетка различных кнопок UIB (5 x 5) ... Теперь у меня есть UIControlEventTouchUpInside ... это означает, что когда пользователь хочет выбирать различные кнопки, нужно нажимать каждую, одну за другой ...

Как мне активировать кнопки, когда пользователь проводит пальцем по различным кнопкам.

Вот код, который я использую:

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];
}

Ответы [ 2 ]

0 голосов
/ 11 февраля 2011

Хорошо, наконец, я решил так:

-(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 кнопки не нравятся:

lletra.userInteractionEnabled = NO;

И вуаля ... все работает отлично ...

0 голосов
/ 11 февраля 2011

Вы также можете реагировать на:

UIControlEventTouchDragEnter или UIControlEventTouchDragExit

для обработки этих случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...