#ios #objective-c #uiviewcontroller #viewstate #user-interaction
#iOS #objective-c #uiviewcontroller #viewstate #взаимодействие с пользователем
Вопрос:
Мне нужны некоторые подсказки или предложения по проблеме.
Что я хочу сделать, так это «свернуть» UIViewController
как «круги сообщений» в старых сообщениях Facebook. Чтобы пользователь мог продолжать использовать приложение, просто переместите круг в любое место экрана, а затем коснитесь его, чтобы открыть и продолжить работу оттуда.
Предполагается, что свернутый UIViewController
должен быть UIWebView
, и я хочу, чтобы пользователь мог продолжать работать из любого состояния, в котором находилась веб-страница.
Я знаю, что предполагается добавить сюда код, но мне больше нужны некоторые указания о том, с чего начать и как думать, или, возможно, некоторые предлагаемые кодовые подсказки или ссылки.
Надеюсь, кто-нибудь сможет мне помочь.
Спасибо
редактировать: Спасибо Moti. Хорошо, поэтому я не буду использовать раскадровку, но сделаю все программно. Я сделаю так, чтобы он не был полностью скрыт, а «свернут» в виде верхнего круга, к которому можно получить доступ, просто нажав на него в любом месте приложения.
Трюк14, у меня будет проверка. tnx
Комментарии:
1. Вы имеете в виду заголовок чата? На github есть хороший источник
Ответ №1:
Создайте базовый контроллер просмотра, который наследуется каждым ViewController в вашем приложении. Объявите функции в нем. И вы можете напрямую обращаться к этим функциям в любом из вашего базового класса. Или просто скрыть или показать свой вид в любом месте вашего приложения.
Ответ №2:
Если это часть навигационного контроллера, вы можете где-нибудь сохранить на него строгую ссылку, поэтому, когда вы его извлекаете, он останется живым. И когда вам это нужно, вы можете нажать его снова.
Если вы можете описать некоторые дополнительные детали относительно того, как вы показываете / скрываете, и является ли это частью раскадровки или встроено во время выполнения, сообщество сможет быть более конкретным в отношении решений.
Если вы заглянете в UIViewController
, вы увидите
addChildViewController:
removeFromParentViewController
willMoveToParentViewController:
didMoveToParentViewController:
Вы можете поиграть с ними, чтобы достичь того, что вам нужно, например, когда вы обнаружите, что контроллер «overlay» удален из родительского контроллера просмотра, вы можете вернуть его обратно в метод didMoveToParentViewController:
другого контроллера.
Да, необходимо выполнить некоторое управление, но это возможно. Я попытаюсь привести несколько рабочих примеров с фиктивными представлениями.
Комментарии:
1. Если я вас правильно понял, вы хотите, чтобы view controller всегда был самым верхним (когда «обведен»)?