У меня есть 5 вкладок в моем приложении, пятая вкладка - вкладка Настройки (внутри UINavigationController), один из вариантов, где пользователь может редактировать личную информацию и выбирать изображение профиля.
После запуска UIImagePickerController (режим камеры) и нажатия кнопки отмены (я даже не говорю о фотосъемке) все возвращается в исходное состояние, на первую вкладку все представления и контроллеры были освобождены и воссозданы iOS. Все, что пользователь обновил в настройках и не сохранил, пропало.
Как можно этого избежать?
Примечание. Я использую одноэлементный экземпляр UIImagePickerController, утечек в инструментах не обнаружено. «При получении предупреждения о памяти. Уровень = 1» постоянно появляется, когда я запускаю сборщик.
Вы станете спасателем жизни - спасибо!
- РЕДАКТИРОВАТЬ -
Нашел:
Я использовал настраиваемую панель вкладок (UIView), поэтому в настройках я представлял модал UIImagePickerController из этого настраиваемого контроллера панели вкладок (который является основным в приложении) (в противном случае средство выбора было бы под ним).
Я перестроил панель вкладок, так что теперь пользовательский вид - это просто подпредставление на стандартном UITabBar, и теперь я вызываю [self presentModalViewController: imagePickerController animated: YES]; в настройках моего приложения и все работает просто отлично.
Итак, вывод состоит в том, что средство выбора изображений ведет себя странно, когда вы представляете его с другого контроллера, а не с «себя».