У меня проблема в iOS8, когда у меня есть несколько подробных представлений в UISplitViewController
, проблема возникает только в горизонтально компактном режиме.iOS8 поведение кнопки режима отображения UISplitViewController
Моя раскадровка выглядит примерно так:
Как вы можете видеть, стол моего хозяина есть два типа клеток, каждый из которых соединен с «собственным» иерархией выносных с помощью Показать Подробности Segue , Таким образом, щелчок первой ячейки будет загружать D1 (и его корень) во вторичную область разделения, щелкнув вторую ячейку, будет загружать D2 там.
Я добавляю кнопку супер умный режим дисплея Разделить к навигации пункту любой детали, когда подготовке к Segue:
controller.navigationItem.leftBarButtonItem = self.splitViewController.displayModeButtonItem;
controller.navigationItem.leftItemsSupplementBackButton = YES;
Все работает отлично, за исключением одного случая:
- Я нахожусь в горизонтальном положении компактного размер (например, портрет iPhone 6)
- Отображается вторичная область, например, экран D1. Первичный скрыт.
- В некоторых случаях (например, нажатие кнопки в D1) Я хочу загрузить D2 во вторичную область. Я звоню
performSegueWithIdentifier:@"showDetailD2"...
, чтобы загрузить его.
Теперь, когда я делаю это, моя волшебная кнопка режима отображения показывает «< D1» и щелчок по ней возвращается к D1! То есть полностью не поведение, которое я хочу. Такая «история» назад желательна, когда я нахожусь в внутри D1 или D2 (и я считаю, что эта кнопка достаточно умен, чтобы сделать это). Но когда я нахожусь на верхнем уровне, я хочу, чтобы он открыл основную область. В основном мне нужно больше что-то вроде левого выдвижного ящика (как в Android).
Обоснование: Мой D1 является не выражают какой-то ошибки/неполное состояние (нет соединения/ни один пользователь/и т.д.), и когда состояние «фиксированных», то «нормальный» интерфейс загружается через D2 или D3 или любой Другие. На данный момент действительно странно видеть кнопку возврата на страницу с ошибкой. Эта функция истории даже хороша, когда я перехожу от D2 к D3, поэтому, если есть способ как-то удалить D1 из истории, это также поможет мне.
В худшем случае я бы сделал логику кнопок самостоятельно - мне нужен способ открыть ящик (первичная область), эта информация также поможет мне.