IBOutlets для других контроллеров представления в раскадровке

Я хочу переключаться между несколькими контроллерами представления с помощью UIPageViewController. Эти контроллеры представления являются статическими, поэтому я хочу создать их в своей раскадровке. Поскольку нельзя использовать отношения или переходы, чтобы связать их с UIPageViewController, но с источником данных, мне нужен объект источника данных с IBOutletCollection, содержащим страницы:

@property (retain, nonatomic) IBOutletCollection(UIViewController) NSArray* pages;

Хотя я не могу подключить эту розетку к рассматриваемым контроллерам представления. Я предполагаю, что это потому, что контроллеры представлений в раскадровке обрабатываются совершенно независимо, как в разных файлах пера. Есть ли решение? Я не хочу проектировать эти контроллеры представления в коде.


person Sebastian Hoffmann    schedule 17.01.2012    source источник


Ответы (1)


IBOutlet, вероятно, не подходит для этого. На мой взгляд, лучший способ сделать это - получить файл пера, используя идентификатор, который вы указываете в раскадровке, а затем в методе viewDidLoad введите его и замените имя переменной и идентификатор соответствующими именами.

UIViewController *myController = [self.storyboard instantiateViewControllerWithIdentifier:@"myIdentifier"];

Надеюсь, это помогло вам заставить его работать.

person Marcus Buffett    schedule 17.01.2012
comment
это сработало для меня нормально, но я не соглашусь сейчас, так как все еще надеюсь увидеть другое решение. - person Sebastian Hoffmann; 17.01.2012
comment
Маркус, но в Xcode 4.5 нет ввода идентификатора в IB раскадровки. Я прошу ответить здесь: stackoverflow .com/questions/12471429/ - person petesalt; 18.09.2012