Обновление: Я решил пойти по другому пути с моей проблемой.
Вместо того, чтобы пытаться повторно использовать один и тот же UIViewController, я использую два ванильных UIViewControllers, которые установлены как rootViewControllers. В своих методах loadView они совершают вызов [storyboard instantiateViewControllerWithIdentifier:]
, чтобы получить прежний UIViewController и установить их представления в представлении контроллера. Это, вероятно, предпочтительный подход, так как мне нужно установить несколько переменных и делегатов.
У меня есть UIStoryBoard с UITabBarController как точка входа, связанная с двумя UINavigationControllers. Каждый из них имеет общий UIViewController в качестве своего контроллера корневого представления. Когда приложение запускается, выбирается первый UITabBarItem, и представление загружается как ожидалось. Однако, когда я выбираю второй UITabBarItem, тот же вид не отображается. Я вижу UINavigationBar с черным фоном. Я делаю что-то неправильное с интерфейсом Storyboard или мне нужно вручную создать экземпляр UIViewController с помощью каждого метода UINavigationController - loadView, например?