События касания в пределах ~8 пикселей от навигационной панели не вызываются

У меня есть приложение с тремя кнопками (фактически UIView), расположенными горизонтально под панелью навигации.

Три кнопки имеют достаточно значительный размер (больше, чем кнопка "назад", например), однако они не реагируют на прикосновения, когда удар приходится на верхнюю третью часть, примерно.

Я знаю, что эта область непосредственно под навигационной панелью как бы "зарезервирована" для кнопки "назад" и других элементов UINavigation, имеющих область касания, которая выходит за пределы навигационной панели (на довольно значительное расстояние), однако в некоторых случаях поблизости нет даже элемента навигации, чтобы украсть событие, а мои представления все равно не реагируют.

Странно то, что я получаю вызов метода hitTest в моем UIView, но никогда не получаю touchesBegan/Ended/etc.

В результате очень трудно нажимать на кнопки, и если одна из них находится рядом с UINavigationItem, элемент украдет событие, даже если в hitTest я возвращаю системе правильный UIView.

К сожалению, я реализатор, а не дизайнер, поэтому изменение дизайна - это крайняя мера.

Есть идеи? Спасибо!

9
задан Sam 18 October 2011 в 00:33
поделиться