Главное представление UISplitViewController теряет состояние после вращения
На iPad я заметил, что такие приложения, как Mail и WebMD, сохраняют строки на последнем уровне иерархии "Основного" (слева) представления, выделенного при нажатии. Они также запоминают это состояние после вращения; если вы выберете электронное письмо в альбомной ориентации, а затем повернетесь в портретную ориентацию и нажмете кнопку "Входящие", чтобы вызвать всплывающее окно "Основной вид", правильный элемент все равно будет выделен, а список прокручен в правильную позицию. Поверните его обратно в ландшафт, и это все еще правильно.
Я работаю над приложением для iPad, похожим на Mail. Если я запускаю свое приложение в альбомной ориентации, выбираю элемент из списка и поворачиваю iPad, кажется, что главное представление теряет свое состояние; его таблица прокручивается вверх, и ни один элемент не выделяется. Даже если устройство затем возвращается в альбомную ориентацию, список все равно забыл последний нажатый элемент.
Есть ли какой-нибудь простой / автоматический способ получить мастер-вид в UISplitViewController
сохранить свое состояние? Я думаю, что я могу воспроизвести это поведение, сохраняя NSIndexPath
последнего элемента и использовать UITableView
"s scrollToRowAtIndexPath:atScrollPosition:animated:
чтобы переместить его в правильное место до / после поворота устройства, но я надеюсь, что это уже сделано автоматически на стороне Apple, если я щелкну правой кнопкой.
1 ответ
Оказывается, это "переключатель" на стороне Apple - в частности, clearsSelectionOnViewWillAppear
недвижимость в UITableViewController
который установлен в YES
по умолчанию. Установка его в NO
позволяет ему помнить свое состояние.