обнаружить Touch на UIButton - PullRequest
       26

обнаружить Touch на UIButton

1 голос
/ 30 сентября 2011

Хорошо, вот иерархия моего вида.

               Main View

     |---------------|---------------|

    UIView         UIView          UIView

      |             |                |

    UIButtons     UIButtons      UIButtons

Как показано на рисунке выше, у меня есть 3 подпредставления тега 111,222,333.

И каждый подпункт содержит 25 кнопок.Один вид виден одновременно, поэтому я скрываю другой вид 2 по свойству тега.

Описание приложения: Мое приложение имеет изображения на кнопках, а m отображает эти изображения при нажатии кнопок.Пользователь может нажимать только одну кнопку за раз, и по второму щелчку мыши m сравнивает изображения кнопок, если два изображения кнопок не совпадают, изображение кнопки скрывается и, если они одинаковы, они не скрыты..

Все идет хорошо на симуляторе, но на устройстве, если я нажимаю кнопку Two одновременно, они оба открываются одновременно.(в то время как btnClickCount равен 2)

я хочу, чтобы моя кнопка открывалась только по одному за раз.

Что я пробовал:

  1. Я установил NO для multiTouch.
  2. Я пытался использовать Touches Began, но это было бесполезно, так как я нажимал на кнопку UIButton, а не на UIView.
  3. Я пытался

            self.view.userInteractionEnabled = NO;
    
            [self performSelector:@selector(EnableUserInteraction) withObject:nil afterDelay:0.5];
    

при первом нажатии кнопки, но если касания происходят одновременно, то ничего не происходит, но это работает для одного нажатия.

не знаю, что с этим делать !!!!!

Пожалуйста, помогите, заранее спасибо ..........

1 Ответ

1 голос
/ 30 сентября 2011

UIButton имеет логическое свойство 'enabled'. Поэтому, когда вы нажмете кнопку, вы можете установить все остальные кнопки на

buttonName.enabled = NO;

Затем, когда вы захотите, чтобы они снова были активными, установите

buttonName.enabled = YES;

Я не уверен, как ваши кнопки объявляются, но если они представляют собой IBOutlet с разными именами, вы можете легко поместить все имена в массив, удалить то, что активно, и перечислить черезотдых.

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