Я поразил странную проблему с UITabBarController
на iOS7 и не могу найти способ обхода, поэтому любая помощь будет приветствоваться!
Сценарий:
- Навигационное приложение, использующее ландшафтную ориентацию на iPad.
- Приложение состоит из основного вида и второго представления, которое является UITabBarController.
- TabBarController имеет две вкладки.
- В первом представлении есть две кнопки - каждая кнопка выполняет переход к контроллеру панели вкладок и устанавливает другую вкладку как выбранную. (т.е. кнопка1 выбирает первую вкладку, а кнопка2 выбирает вторую вкладку).
- Настройка вкладки выполняется в
prepareForSegue
, вызываяsetSelectedIndex
в контроллере панели вкладок.
Результат:
В iOS 7 я обнаружил, что представление, показанное в контроллере панели вкладок, не регистрирует никаких событий касания вдоль правого края представления! Таким образом, в раскадровке, показанной выше, UISwitch в правой части экрана не может быть задействован.
Я даже прикреплял распознаватель жестов к представлениям и использовал его для регистрации области экрана, на которую можно было коснуться - он, похоже, регистрирует события касания примерно до x = 770 точек в поперечнике. Остальные 1/4 экрана "неприкасаемые"!
После сеанса, если вы вручную переключитесь на другую вкладку и снова вернетесь, события касания будут "фиксированными", а полный вид снова будет реагировать на касания.
Это не похоже на проблему на iOS 5/6.
Любая помощь, которую очень ценят:
- Что вызывает это в первую очередь (ошибка/изменение iOS7?)
- Как еще я могу обойти это? Я попытался позвонить
setSelectedViewController
, а также использоватьsetSelectedIndex
, и это похоже на то же самое.
Спасибо заранее.