Приложение отображает информацию о планетах, их лунах и т. Д. Оно отображает список планет, позволяет пользователю выбрать планету и просмотреть ее детали, а затем добавить в закладки / снять с нее отметку. У меня есть вид, который показывает пользователю информацию о выбранной планете, он также содержит кнопку добавления / удаления закладки. Если пользователь нажимает эту кнопку, эта закладка добавляется / удаляется, и в верхней части текущего представления помещается другое представление, чтобы сообщить пользователю, что закладка была удалена.
Теперь возникает вопрос, когда пользователь нажимает кнопку сведений о спине / планете слева от панели навигации, отображаемой в представлении состояния, и возвращается к представлению сведений о планете, ему по-прежнему отображается добавление / удаление (в зависимости от того, что было показано ранее) кнопка, тогда как теперь она должна быть удалена / добавлена (согласно ранее загруженной кнопке) в соответствии с кодом, который я написал.
Что я могу понять, так это то, что когда пользователь нажимает кнопку «Назад», предыдущее представление не перезагружается, представление состояния просто выскакивает. Есть ли способ заставить приложение запустить setNeedsDisplay или что-то, что могло бы перезагрузить код viewDidLoad сведений о закладках, когда пользователь нажимает кнопку «Назад» в представлении состояния?
Или возможно другое решение?
Это очень смущает пользователя, так как он думает, что он только что удалил / добавил закладку, но кнопка все еще просит его добавить / удалить ...
Это представление состояния также используется другим разделом кода, чтобы показать результаты пользователю действия, поэтому я не могу изменить его код или, может быть, я могу проверить предыдущий вид в нем, проверить, был ли он планетой подробности, а затем перезагрузите его содержимое ...