2013-05-24 6 views
0

Я новичок в программировании на iOS, и я работаю над проектом, который будет использовать как файлы XIB, так и раскадровку. У меня в нем два модуля. Первый модуль выполнен из XIB-файлов, который также работает независимо. Я сделал еще один модуль, используя раскадровку, и мне пришлось интегрировать эти два независимо работающих модуля. Экран моего первого модуля, который я хочу подключить к моей раскадровке, является подклассом UIViewController, и я смог сделать это с помощью stackoverflow (How to load a storyboard from a XIB file?), создав объект UIStoryBoard. Теперь мое приложение может перейти на раскадровку, но я не могу вернуться к моему первому модулю, который состоит из XIB-файлов.Как загрузить файл xib из раскадровки?

Пожалуйста, дайте мне знать, как я могу подключиться к тому же экземпляру последнего экрана первого модуля, через который вызывается раскадровка, чтобы я мог легко и быстро перемещаться по этим представлениям. Подключение к тому же экземпляру файла XIB важно, потому что это экран чата, и когда я вернусь на этот экран, я хотел бы вернуться в чат, где я его оставил, а также когда я вернусь к раскадровке (нажав кнопку на экране чата) У меня есть ползунок на экране, который должен отображать значение, которое пользователь должен был выбрать, когда они были на этом экране в последний раз. Думаю, создание нового объекта должно дать мне новый экран, который не будет работать в этой ситуации. Такой механизм хорошо работает в раскадровке с использованием segue, где мы можем определить как источник, так и контроллер точки назначения.

Пожалуйста, помогите мне достичь того же в моей ситуации.

Пожалуйста, также проверьте снимки экрана файла XIB и раскадровку, с которой я хочу подключиться.

Спасибо. enter image description here

+0

в примере, который вы использовали '[собственного presentViewController: storyViewController анимированный: ДА завершение: ноль];' так косяк вы просто сбрасывание 'storyViewController' – Bonnie

+0

Да, и это проблема. Когда мне снова нужно перейти на эту раскадровку, я снова перейду к '-IBAction', и там будет создан новый объект для раскадровки, и этот объект снова инициализирует мой слайдер значением по умолчанию, а не тем, где пользователь оставил его в прошлый раз. Пожалуйста, поправьте меня, если я ошибаюсь. –

+0

, но вы можете всегда проверить, не была ли создана сценария или нет. 'if (mainStoryBoard! = Nil) { * mainStoryBoard = [UIStoryboard storyboardWithName: @" MainStoryboard "bundle: nil]; [mainStoryBoard instantiateViewControllerWithIdentifier: @ "StoryViewController"]; } ' – Bonnie

ответ

0

Преобразуйте файлы nib в раскадровку, это поможет вам упростить управление вашим приложением.

+0

Я знаю это, но я хочу решение моей проблемы в настоящем сценарии. Я просто хочу знать, чтобы получить плавное соединение между XIB-файлом и раскадрой. –

0

Ну, в вашем случае, что я вижу от nibs, есть контроллер навигации в раскадровке, а также контроллер навигации контроллера корневого контроллера из xib-файлов. Ну, в стеке контроллера навигации есть все VC, в которые вы вставляете, и вы можете вернуть его по-разному.