Во-первых, я абсолютно уверен, что UIB-кнопки, правильно подключенные к IB, отвечают ожидаемым событиям касания.(Можете ли вы представить, если бы они этого не сделали?)
Учитывая это, справедливо поспорить, что вы не подключили все, как ожидали.Вот несколько вещей, которые стоит попробовать:
Сначала сделайте распечатку выписки из журнала:
NSLog(@"%s", __PRETTY_FUNCTION__);
Отметьте в IB, что ЕДИНСТВЕННАЯ функция, к которой подключена ваша кнопка, - это ваше действие по подкрашиванию.(Позже вы можете подключить его к нескольким событиям, но для тестирования мы хотим максимально упростить его.)
- Убедитесь, что ваша кнопка имеет размер 50x50 или больше.(Маленькие кнопки трудно нажимать.)
- Пока что сделайте вашу кнопку прямоугольной с закругленными углами.Если у вас была кнопка с изображением, и изображение было прозрачным, может быть трудно нажать.
Убедитесь, что у вас есть правильная подпись для вашего действия:
- (IBAction) myButtonPressedAction: (id) sender;
Просто чтобы убедиться, что все чисто, удалите кнопку из своего .xib и заново добавьте ее.
- Убедитесь, что в родительском представлении установлено
userInteractionEnabled
. - Убедитесь, что FileOwner xib является вашим типом контроллера представления.
Если ничего из этого не помогло, вам придется рассказать нам больше о проблемной области.Возможно, добавьте скриншот настройки вашей кнопки в IB и фрагменты кода из вашего проекта.