У меня есть оператор if
, который проверяет, перетаскивается ли перетаскиваемый imageView
imageView
- который хранит количество перетаскиваемых элементов и изменяет изображение. У меня также есть заявление else-if
, чтобы узнать, пересекались ли 2 imageViews
с помощью счетчика imageView
. Первое заявление if
прекрасно работает, но когда я перетаскиваю еще один, на него ничего не происходит. Изображение не меняется. Я попытался сделать это следующим образом, но он, похоже, не работает.Операция Else-if не выполняется.
Кто-нибудь знает, почему и если есть лучший способ сделать это?
Мой код:
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
for (UIImageView *letter in letterA)
{
if (CGRectIntersectsRect(letter.frame ,answerA.frame))
{
UIImage *Pic1 = [UIImage imageNamed:@"number1"];
[correctCounterA setImage:Pic1];
letter.userInteractionEnabled=NO;
letter.hidden=YES;
}
else if(CGRectIntersectsRect(letter.frame ,answerA.frame) && CGRectIntersectsRect(letter.frame, answerA.frame))
{
UIImage *Pic2 = [UIImage imageNamed:@"number2"];
[correctCounterA setImage:Pic2];
letter.userInteractionEnabled=NO;
letter.hidden=YES;
}
}
}
X && Y является еще более ограничительным, чем X. Там нет ни одного случая, где 'X && X && Y'!. Переосмысление логической логики может быть ключевым здесь. –
Особенно, так как это на самом деле 'X && X' ... – luk2302
как бы я это сделал? Буква из массива 'UIImageViews'. Я пытался получить случайный случай каждый раз, но не повезло – Laury