2016-05-29 14 views
0

Я нашел это странное поведение с сенсорным событием. Точка таргетинга еще не выделена, а touchsEnded будет вызван, нажав любую часть экрана с двумя пальцами, а не 1, должно быть 2 ... тогда он пропускает touchhesBegan, вызывает touchsEnded. Я даже проверил, настроен ли пользовательский интерфейс целевого представления на «ДА», но нет, он установлен в «НЕТ», потому что он по умолчанию НЕТ, но он все равно не назначен.touchsEnded вызывается, когда какая-либо часть экрана постучана двумя пальцами одновременно

Все это не происходит, когда целевая точка зрения уже выделены и расположены и т.д.

Кто-нибудь сталкивался с этим ?? Почему это происходит и нужно ли мне распределять свойство, чтобы предотвратить его случайные звонки случайным образом, как сумасшедшие? Также почему это странное поведение требует двух пальцев одновременно, а не только одного крана ... это не важно, но мне просто очень любопытно.

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ 

UITouch *touch = [[event allTouches] anyObject]; 

if (touch.view == self.buttonStartButton) { 

    NSInteger levelUp = [self.levelModel checkForLevelUp]; 
    if (levelUp == 0) { 
     [self byeGameContainer]; 
    } 
    else { 
     [self.delegate levelingUp]; 
    } 
}} 

ответ

0

Таким образом, пытались выделить цель и установив его рамку за пределы экрана не работали touchesBegan и touchesEnded ВСЕ ЕЩЕ дозвонились, когда любая часть экрана сливают. Я даже установил его userInteractionEnabled = NO, но события касания будут вызваны STILL.

Закончено сделав это и это делает работа. Проверяя, выделено ли целевое свойство или нет, события касания, наконец, не вызываются, когда они не должны/не должны.

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ 

UITouch * touch = [[event allTouches] anyObject];

если (touch.view == self.buttonStartButton & & self.buttonStartButton! = Ноль) {

NSInteger levelUp = [self.levelModel checkForLevelUp]; 
if (levelUp == 0) { 
    [self byeGameContainer]; 
} 
else { 
    [self.delegate levelingUp]; 
} 

}}