2013-09-25 2 views
1

У меня есть UISearchBar в приложении для iPad. Когда строка поиска начинается редактирование, я показываю поповер ниже в строке поиска, содержащих предложения поиска и предыдущих поисков:iOS 7: показ popover из строки поиска

enter image description here

Это давнее взаимодействие в приложении. Теперь под iOS 7 все, что находится за popover (с точки зрения оси z), выглядит тускло - предположительно, добавленный popover поверх окна больше не прозрачен. Это означает, что панель поиска, которую пользователь сейчас редактирует, выглядит так, будто она больше не активна. Он все еще активен (пользователь все еще может выбрать текст в строке поиска и нажать кнопку «Удалить», чтобы очистить текст панели поиска), но это немного меня беспокоит, что похоже, что он неактивен.

Каковы мои возможности для решения этой проблемы в работе с popovers в iOS 7?

Вот что я придумал до сих пор:

  • попробовать и восстановить поведение прошивки 6, сделав фон окна поповера в ясном (нет ничего, чтобы это UIPopoverController, так что я предполагаю, что это будет включают покопаться и найти окно в поповер в)
  • прекратить использование UIPopoverController и попытаться имитируя его с моим собственным контроллером зрения, что затемняет все, кроме панели поиска

я упускаю что-то очевидное? Оба варианта (и другие немые/сумасшедшие варианты, о которых я думал) кажутся нетривиальными для реализации и/или плохих идей по нескольким различным причинам.

Образец проекта Apple для демонстрации такого рода функций, ToolbarSearch, проявляет то же поведение, что и мое приложение. Эта скрытая панель поиска не может быть лучшим опытом для пользователей. В качестве примера рассмотрим «Календарь для iPad»: он перешел от панели поиска на панели навигации, которая показывает, что под ней, когда она активна (как и мое приложение), отображается только значок поиска, который показывает popover , содержащий a панель поиска. Я предполагаю, что изменение было сделано из-за проблемы, с которой я столкнулся.

ответ

1

На мой взгляд, самым простым и удобным для пользователя было бы перемещение панели поиска в UIPopover. Чтобы удалить тусклость, вам придется написать свой собственный UIPopoverBackgroundView. Если вы хотите посмотреть, как это сделать, посмотрите here.

+0

Я не думал, что это были замены 'UIPopoverBackgroundView', такие как' DDPopoverBackgroundView', были ли они предназначены для настройки фона popover (т.е. настройки стрелки, маленькой части хрома вокруг контроллера содержимого), а не в окне появляется надпись? Во всяком случае, да, похоже, что лучше всего будет следовать примеру Apple и переместить панель поиска в popover. – scottjacksonx

+0

Кажется, что все это затрагивает. Я вытащил DDPopoverBackgroundView в образец кода Apple ToolbarSearch и заметил, что тусклый свет исчез. Вот скриншот: http://imgur.com/H2h1pPF –

Смежные вопросы