touchsBegan - iPhone приложение UIView - PullRequest
2 голосов
/ 11 июля 2011

У меня есть метод touchesBegan:, который отлично работает.Однако недавно я добавил UIView (кнопку) в свой UIViewController, и теперь кнопка не регистрирует нажатия, однако мой метод touchesBegan::.

Как я могу сказать моему методу touchesBegan:, чтобы избежать нажатия кнопки?

Вот мой текущий touchesBegan: метод:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  {
    NSLog(@"touches began");
    UITouch *touch = [touches anyObject];   
    switch ([touch tapCount]) 
    {
        case 1:
            break;

        case 2:
            if(something)
                [doing something];

            break;

        default:
            break;
    }
}

Ответы [ 2 ]

1 голос
/ 11 июля 2011

Убедитесь, что кнопка находится спереди ([self.view bringSubviewToFront: myButton]).Затем вы можете спросить касание, в каком виде это произошло:

if ([touch.view isEqualTo: myButton]) {
    NSLog(@"touch was on button");
}
0 голосов
/ 07 января 2012

У меня была такая же проблема.Когда я переместил мою кнопку вперед (в коде через UIViewController.bringSubviewToFront), touchSeg больше не срабатывал, когда я нажимал на кнопку.Я использую Xcode 4.2 в симуляторе.

...