Способ найти самый популярный UIView в приложении для iPhone - PullRequest
1 голос
/ 11 января 2010

У меня есть несколько UIViews и UIImageViews, которые загружаются внутри UIScrollView. Каждая «страница», кроме последней, в scrollView работает нормально. Последний вид не реагирует на прикосновения, это всегда так, независимо от того, есть ли 2 или 16 страниц. Все страницы построены в одном цикле for с использованием одного и того же подхода.

У меня есть несколько кнопок UIB в представлениях, и на последней странице я не могу заставить их реагировать на прикосновения. Кажется, что наличие UIImageView с .png с прозрачной областью в верхней части представления блокирует это представление от реакции на прикосновения. Я думаю, что это, возможно, то, что происходит, и какое-то странное / просчитанное смещение заставляет это проявляться только на последней странице.

Есть ли способ отладки "стека представлений". например Посмотрите, какие слои, UIViews и т. д. отображаются на экране, чтобы я мог определить тот, который предположительно покрывает мои кнопки.

В Flash AS3 мне кажется, что я помню, что событие касания, всплывающее по иерархии объектов, будет нести с собой ссылку на каждый слой представления под мышью. Есть ли что-то вроде этого iPhone FrameWork?

У меня нет подходов и идей для дальнейшей отладки. Я проверил contentSize scrollView, попытался раскрасить фон каждого вида, чтобы увидеть, покрывает ли какая-либо из них кнопки и, в общем, прошел ли он каждую строку кода. Но все равно не повезло: /

Спасибо за любое предложение или помощь.

Ответы [ 2 ]

1 голос
/ 11 января 2010

Убедитесь, что для вашего UIImageView и любых других представлений, которые не должны получать сенсорные события, userInteractionEnabled установлено на NO. Если для них установлено значение YES, они перехватывают события касания в своих рамках.

1 голос
/ 11 января 2010

Предложение по низкой мощности: вы можете программно пройтись по дереву представлений от своего корня, получив [self subviews], все из которых являются UIView * s, а затем сделать то же самое для каждого из них рекурсивно и т. Д. может выгрузить фрейм или другую информацию отладки, используя NSLog или что-то еще, и посмотреть, поможет ли вам какая-либо из этой информации.

нашел это; это сделает это для вас: http://ramin.firoozye.com/2008/12/11/easy-uiview-debugging-on-the-iphone/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...