У меня странная проблема, когда пользовательский элемент управления, созданный для iPhone, отлично работает при сборке в режиме отладки, но работает только частично при сборке в режиме выпуска.
Основное представление оболочки является подклассом UIView
и содержит ряд «кнопок», которые добавляются как подпредставления. Пользовательский класс кнопок расширяет UIImageView
и переопределяет сенсорные методы следующими сигнатурами:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
При сборке кода отладки все 4 из этих функций вызываются в то время, которое вы ожидаете, при сборке релиза ничего не происходит. У меня есть вход в каждый из них, и я не получаю никаких сообщений журнала (другие журналы работают).
Еще одна интересная вещь: у меня есть методы touchesBegan / Moved / Ended, переопределенные в классе представления оболочки, и они работают нормально. Я попытался закомментировать эти методы в классе-обертке, чтобы увидеть, как они влияют на кнопки, но это не так.
Я также попытался изменить класс UIImageView
на подкласс UIButton
, но у меня возникла та же проблема, включая любые события, такие как touchUpInside. Они работают в режиме отладки, но не в версии.
Я пытался исследовать эту проблему, а также общую обработку событий, и пришел с пустыми руками. Есть идеи, где искать дальше?