Каковы точные границы области прослушивания жестов для прокрутки до вершины?

При использовании жестов прокрутки к вершине (см. [UIScrollView scrollsToTop]) в качестве пользователя, мне трудно попасть в правильную область для создания этого жеста. На моем тестовом устройстве, IPhone 4S, эта область, по-видимому, занимает очень тонкую часть верхней части области приложения плюс только нижнюю часть строки состояния, которая все еще даже при объединении оставляет ее довольно тонкой, трудно ударяемой площадь.

  • Каковы точные границы этой области?
  • Может ли он быть настроен программно, чтобы облегчить использование этого жеста, например, наиболее очевидно, чтобы увеличить область прослушивания?

Учитывая тот факт, что в Apple есть руководства по дизайну, которые определяют, как должны выглядеть осязаемые объекты и какие области прослушивания минимального размера должны покрывать, кажется, что эта функция даже не соответствует правилам Apple для пользовательских интерфейсов. Я предполагаю, что были обсуждены эти особенности в отношении, которые трудно обнаружить в первую очередь, и что это трудно использовать во втором месте. Было бы интересно иметь какие-либо ссылки на такие обсуждения или любое другое понимание этой темы.

2 ответа

Да, трудно коснуться строки состояния. Одним из способов решения проблемы является добавление наложения статусной строки. Сделать вид сверху сверху может помочь.

  1. Чтобы добавить пользовательский вид в начало UIWindow.
  2. Зарегистрируйте UITapGestureRecognizer.
  3. Обработать действие крана. например, прокрутите список прокрутки вверх.

Несколько вещей, которые вы должны использовать:

  1. вращение
  2. Автоматическое изменение размера
  3. Под сенсорным событием. Ваш оверлей может заблокировать касание события элементов навигационной кнопки, так что сделайте hitTest в своем оверлейном представлении, чтобы убедиться, что пользователь может коснуться областей кнопок.

BTW: мало кто знает, что они могут коснуться строки состояния, чтобы прокрутить список прокрутки вверх. Немного разочаровывает. ;)


scrollsToTop работает над scrollview, когда мы касаемся строки состояния, и нет других scrollviews со значением свойства scrollsToTop YES. В иерархии представлений должно быть только одно scrollview, имеющее это значение YES. Таким образом, сенсорный прямоугольник будет рамкой строки состояния. И если вы хотите захватить это событие, тогда для этого вам нужно использовать пользовательский оверлей строки состояния.

licensed under cc by-sa 3.0 with attribution.