Выделите кнопку при перетаскивании enter

#ios #uibutton

#iOS #uibutton

Вопрос:

только начал изучать iOS SDK. У меня есть несколько кнопок, нужно выделить их, коснувшись снаружи один раз, а затем перетащить. Как я понимаю, событие TouchDragEnter срабатывает, когда вы нажимаете кнопку, затем перетаскиваете наружу, а затем снова перетаскиваете внутрь. Возникает ли какое-либо событие, когда вы нажимаете снаружи кнопки, а затем перетаскиваете внутрь?

Ответ №1:

Александр,

При поиске той же информации я увидел, что на ваш вопрос не было ответа. Вы, наверное, уже поняли это, но вот как я это сделал.

Обратите внимание, что метод pointInside:withEvent: проверяет, находится ли точка в пределах границ кнопки. Поскольку событие касания происходит из представления, вы должны преобразовать его в систему координат кнопки.

 -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *t in touches) {
    CGPoint touchPoint = [t locationInView:self.view];

    CGPoint testPoint = [self.view convertPoint:touchPoint toView:aButton];
    if ([aButton pointInside:testPoint withEvent:event]) {
        //Do something
    }
    //rest of code