У меня есть пользовательский UIButton с UILabel, добавленный как subview. Кнопка выполняет заданный селектор только тогда, когда я касаюсь его около 15 точек ниже верхней границы. И когда я нажимаю выше этой области, ничего не происходит.Почему UINavigationBar крадет события касания?
Я выяснил, что это не вызвано неправильным созданием кнопки и метки, потому что после того, как я сдвигаю кнопку ниже примерно на 15 пикселей, она работает правильно.
ОБНОВЛЕНИЕ Я забыл сказать, что кнопка, расположенная под UINavigationBar и 1/3 верхней части кнопки, не получает событий касания.
Вид с 4-мя кнопками находится под Панель навигации. И когда прикоснитесь к «Баскетболу» в верхней части, BackButton получит событие касания, а при касании «Фортепиано» сверху, тогда rightBarButton (если существует) получит прикосновение. Если не существует, ничего не произошло.
Я не нашел эту документацию в приложениях.
Также я нашел this тему, связанную с моей проблемой, но ответа тоже нет.
Ответ от @nonamelive в этой ссылке решает проблему на всех ОС (включая iOS 7.0/7.1): http://stackoverflow.com/questions/7806557/touch-events-within-8-pixels-of-nav -bar-not-called – strange