Описание проблемы короткое, но, думаю, мне не нужно много говорить.Когда я загружаю .xib
моего собственного проигрывателя фильмов, для элементов управления UIButton / UIBarButtonItem устанавливаются значения ivars / properties моего объекта File's Owner
, а для их действий / селекторов устанавливаются различные локальные методы.Функция никогда не вводится (точка останова gdb не достигнута).
Я подтвердил, что setView:
и set...Button:
вызываются (еще не выяснил, равны ли они нулю).Я также попытался вручную вызвать addTarget:action:forControlEvents:
/ setAction:
при инициализации пользовательского интерфейса, но безрезультатно.
Здесь также есть лишняя странность: кнопки на самом деле подсвечиваются, а затем остаются выделенными.Таким образом, они переходят от UIControlStateNormal
к UIControlStateHighlighted
(/ UIControlStateSelected
, в зависимости от того, как вращаются отдельные касания), но при UIControlEventTouchUpInside
, который в противном случае инициировал бы действие кнопки, кнопка, кажется, остается в своем выделенном /выбранное состояние.
Обратите внимание, что следующие элементы управления в том же .xib
работают без проблем:
MPVolumeView
(в подклассе Apple UISlider
) UISlider
(с селекторами, установленными для UIControlEvent
s ValueChanged
, TouchDown
, TouchUpInside
, TouchUpOutside
, TouchCancel
, все из которых, кажется, работают все еще) UIGestureRecognizer
с (даже однократные нажатия на кнопки в настоящее время работают)
Раньше это работало, так что изменилось в .xib
с тех пор?Хорошо:
- Теперь используя AVPlayerLayer в качестве
layerClass
представления верхнего уровня (следовательно, представление верхнего уровня также является подклассом UIView
).Это должно было исправить некоторую хитрость при загрузке фильма / визуальную задержку.
Это буквально все, что изменилось, по крайней мере, о чем я могу думать ... Я также пытался удалить и повторно подключить розетки в IB.Мысли, которые не обязательно являются решениями, также приветствуются!
РЕДАКТИРОВАТЬ: Хорошо, так вот обзор того, на каких устройствах он работает / работает. Симулятор не тестировался, потому что у меня есть библиотеки .a
, которыетолько скомпилированные armv6
/ armv7
архитектуры.
- iPhone 3G на 4.2.1 (8C148) с джейлбрейком с PwnageTool 4.2, версия для основной полосы частот
05.15.04
, без SIM-карты: кнопки не работают - iPad 1 на 4.3.5 (8L1), версия для основной полосы частот
07.11.01
, вставлена SIM-карта: кнопки являются включенными - iPad 2 на 5.0b4 (9A5274d), нетосновная полоса (только для WiFi): кнопки не работают
- iPhone 4 на 4.3.4 (8K2), вставлена SIM-карта: кнопки являются включенными
I 'мы пытались выполнить развертывание на устройствах 1 и 2 как с iOS 4.3 (Xcode 4.0.2 4A2002a), так и с iOS 5.0b4 (Xcode 4.2 4C139), в обоих случаях результаты одинаковые (телефон не работает, планшет работает).Я также попытался полностью удалить приложение с устройств 1 и 2 и выполнить чистую сборку, те же результаты при переустановке.Устройство 3, к которому я подключился только из Xcode 4.2, и устройство 4 только из Xcode 4.0.2.
Только корреляция, которую я вижу, - нет сигнала ячейки = не работает, но это бессмысленно.Я отключил данные ячейки на устройстве 2 на всякий случай, но он все еще работает нормально по WiFi.