Я добавил распознаватель жестов в UICollectionView, но когда я пытаюсь настроить таргетинг с помощью управления, перетащите его в реализацию контроллера, распознаватель жестов жесты не добавит метод. Любые идеи относительно того, что может произойти?признак распознавания жестов не будет целевым действием
ответ
Оба из следующих должно быть правдой:
Вы должны убедиться, что вы указали подкласс в Interface Builder (например, если положить этот метод в контроллере представления, убедитесь, что у вас есть контроллера представления подкласс, указанный для вашей сцены в Interface Builder);
Если связывающая действие к существующему, метод должен быть в реализации класса для вашего должны иметь «обратный тип»
IBAction
(он ведет себя какvoid
, но вы должны указатьIBAction
или иначе IB не позволит вам связать действия), например:- (IBAction)handleTap:(UITapGestureRecognizer *)gesture { // do whatever I want to handle the tap here }
Если метод имеет
void
или какой-либо другой тип возвращаемого указано, Interface Builder не позволит вам установить соединение.
Лично я разрабатываю элементы пользовательского интерфейса в Interface Builder, а затем контролировать сопротивление к @interface
и пусть Interface Builder на самом деле добавить как интерфейс, так и скорлупу реализации для меня, а затем добавить свой код, который ,
Итак, у моего контроллера был неправильный класс, поэтому я исправил его, и теперь я могу перетащить и создать IBAction, но я до сих пор не могу подключиться к моему ранее существующему методу Target-Action, который возвращает IBAction? – user2076774
@ user2076774 Всякий раз, когда я наткнулся на эти проблемы, всегда было не правильно указывать подклассы или неправильную подпись метода (например, тип возврата IBAction и один параметр). Не видя определения метода или вашего проекта, трудно сказать, что происходит в вашем проекте. Если вы загрузите его где-нибудь, я с удовольствием посмотрю. – Rob
Эй, похоже, это ошибка с Xcode, потому что я заново изучил Xcode, и это сработало! Вы сумели помочь мне в этом, хотя так спасибо! – user2076774
Собственно, моя ошибка. Удалил мой ответ. Я только что проверил, и вы, по-видимому, просто управляете, перетаскивая прямо в @implementation. Не уверен, почему это не работает для вас. – geraldWilliam