Подтвердить что ты не робот

Моя кнопка не обнаруживает события касания на iPhone (Retina 4-inch) симулятор, но работает в iPhone (Retina 3,5-дюймовый) симулятор

Я приготовлю свое приложение к iPhone 5 с помощью симулятора, и я нашел странную проблему, когда несколько моих кнопок в одном из моих представлений не работают на iPhone (Retina 4-inch), но отлично работает в iPhone (Retina 3,5-дюймовый) симулятор. Кнопки просто ничего не делают, когда их прослушивают. Кто-нибудь еще испытал эту проблему?

Мне сложно определить, с чего начать с этого. Любые предложения о том, с чего начать?

Большое спасибо за всю вашу мудрость!

4b9b3361

Ответ 1

Проблема была вызвана другим элементом управления, перекрывающим мои кнопки из-за того, как были установлены пружины и распорки. Настройка z-порядка кнопок устранила проблему. Спасибо, все!

Ответ 2

Вам нужно отредактировать файл MainWindow.xib и включить "Полный экран при запуске". Более подробное объяснение см. В документах Apple:

Важно: при создании окна в интерфейсе Builder это рекомендуется включить полноэкранный режим при запуске в атрибут инспектор. Если этот параметр не включен и ваше окно меньше экрана целевого устройства, события касания не будут полученных некоторыми вашими взглядами. Это потому, что окна (как и все просмотров) не получают события касания за пределами их границ. Поскольку представления по умолчанию не привязаны к границам окон, все еще видны, но события не доходят до них. Включение Полный экран в опции "Запуск" гарантирует, что размер окна соответственно для текущего экрана.

Завершить документ из Apple

Ответ 3

Для меня решение заключалось в том, чтобы установить размер ( "Имитированные показатели" ) на "Retina 4 Full Screen" для MainWindow.xib. Мне не нужно было изменять размер других экранов (они по-прежнему установлены в None). После изменения MainWindow.xib нижняя область снова становится интерактивной...

Ответ 4

Существует два решения этой проблемы:

Если вы используете MainWindow, выполните следующие действия:

a. Выберите MainWindow.xib.

b. Выберите опцию Full Screen at Launch из Windows, доступную в Инспекторе атрибутов.

Если ваше приложение не содержит MainWindow, просто добавьте:

self.view.frame = [UIScreen mainScreen].bounds

в ViewDidLoad.

Ответ 5

Я решил свою проблему.

view.origin для 3,5-дюймового и 4-дюймового экрана различны, поэтому при написании общего кода для обоих мы должны заботиться о предоставлении CGRectmake(x,y,w,h);

Установить темп. diff background color of diff view, чтобы вы могли проверить, перекрывается ли какое-либо изображение или нет, чтобы получить событие в 4.0 дюйма.