Вы можете создать два xibs для контроллера вида.
Если у вас есть файлы ...
MyViewController.m
MyViewController.h
Тогда вы могли бы добавить xibs ...
MyViewControllerXib1
MyViewControllerXib2
Просто сделать "файла Владелец" MyViewController.
Затем, когда вам нужно макет пользовательского интерфейса от первого XIB вы можете позвонить ...
MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyViewControllerXib1" bundle:[NSBundle mainBundle]];
Когда вам нужен второй пользовательский интерфейс, вы можете позвонить ...
MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyViewControllerXib2" bundle:[NSBundle mainBundle]];
Объект, который вы get будет таким же, но изменится nib, устанавливающий пользовательский интерфейс.
ДРУГОЙ ПОДХОД
Просто мысли вслух здесь.
Вы также можете создать ViewController без наконечника.
Затем создайте два подкласса каждого из них с наконечником. Теперь у вас есть повторное использование кода и отдельные макеты, но вы также можете внести тонкие настройки управления в каждый из подклассов вашего «главного» контроллера.
После этого вы можете создать столько подклассов, сколько хотите, с помощью этого главного контроллера.
С ИСПОЛЬЗОВАНИЕМ раскадровки
Просто перетащите новый объект ViewController на раскадровке. Измените класс как класс контроллера вида и настройте пользовательский интерфейс и перетащите элементы управления в код и т. Д. Затем у вас будет два экрана, которые выглядят по-разному, но имеют один и тот же код функциональности.
Это то же самое, что я сказал поначалу, но вместо этого использовал раскадровку.
Обычно каждый контроллер имеет свой собственный вид. Но, конечно, чтобы избежать дублирования кода, представления должны быть смоделированы таким образом, чтобы их можно было повторно использовать. Если у вас есть проблемы по этому вопросу, возможно, вам нужно переосмыслить структуру MVC. – GGrec
Так ли это «правильно» иметь выходы из нескольких одинаковых видов в одном контроллере? – Bob
«Если это глупо, но это работает, то это не глупо». – GGrec