Ответ 1
Проблема была вызвана другим элементом управления, перекрывающим мои кнопки из-за того, как были установлены пружины и распорки. Настройка z-порядка кнопок устранила проблему. Спасибо, все!
Я приготовлю свое приложение к iPhone 5 с помощью симулятора, и я нашел странную проблему, когда несколько моих кнопок в одном из моих представлений не работают на iPhone (Retina 4-inch), но отлично работает в iPhone (Retina 3,5-дюймовый) симулятор. Кнопки просто ничего не делают, когда их прослушивают. Кто-нибудь еще испытал эту проблему?
Мне сложно определить, с чего начать с этого. Любые предложения о том, с чего начать?
Большое спасибо за всю вашу мудрость!
Проблема была вызвана другим элементом управления, перекрывающим мои кнопки из-за того, как были установлены пружины и распорки. Настройка z-порядка кнопок устранила проблему. Спасибо, все!
Вам нужно отредактировать файл MainWindow.xib и включить "Полный экран при запуске". Более подробное объяснение см. В документах Apple:
Важно: при создании окна в интерфейсе Builder это рекомендуется включить полноэкранный режим при запуске в атрибут инспектор. Если этот параметр не включен и ваше окно меньше экрана целевого устройства, события касания не будут полученных некоторыми вашими взглядами. Это потому, что окна (как и все просмотров) не получают события касания за пределами их границ. Поскольку представления по умолчанию не привязаны к границам окон, все еще видны, но события не доходят до них. Включение Полный экран в опции "Запуск" гарантирует, что размер окна соответственно для текущего экрана.
Для меня решение заключалось в том, чтобы установить размер ( "Имитированные показатели" ) на "Retina 4 Full Screen" для MainWindow.xib. Мне не нужно было изменять размер других экранов (они по-прежнему установлены в None). После изменения MainWindow.xib нижняя область снова становится интерактивной...
Существует два решения этой проблемы:
Если вы используете MainWindow, выполните следующие действия:
a. Выберите MainWindow.xib
.
b. Выберите опцию Full Screen at Launch
из Windows, доступную в Инспекторе атрибутов.
Если ваше приложение не содержит MainWindow, просто добавьте:
self.view.frame = [UIScreen mainScreen].bounds
в ViewDidLoad.
Я решил свою проблему.
view.origin для 3,5-дюймового и 4-дюймового экрана различны, поэтому при написании общего кода для обоих мы должны заботиться о предоставлении CGRectmake(x,y,w,h)
;
Установить темп. diff background color of diff view, чтобы вы могли проверить, перекрывается ли какое-либо изображение или нет, чтобы получить событие в 4.0 дюйма.