Как вы создаете экземпляр своего контроллера?
Если вы вызываете initWithNibName
(как я полагаю, вы делаете, поскольку вы говорите, что у него есть nib-файл), вы полностью пропускаете свой локальный метод init
(то есть тот, что в BookController);поэтому обработка PDF вообще не инициализируется.
Попробуйте переименовать ваш метод init в initWithNibName
, и он должен работать;или создайте initWithNibName
и заставьте его позвонить вам init
(Google для "назначенного конструктора", чтобы узнать больше об этом шаблоне).
Обратите внимание, что полная подпись initWithNibName
:
- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle
У вас есть больше доступных вариантов, например, создание контроллера с помощью вызова init
(вместо initWithNibName
) или дажесоздайте метод setPDF
, затем, после создания контроллера любым удобным вам способом, вы можете вызвать этот метод, который, в свою очередь, вызывает initialize
и т. д. *
РЕДАКТИРОВАТЬ: если вы решите создать экземплярвручную контроллер, не забудьте определить loadView
:
- (void)loadView {
[super loadView];
if (leavesView) {
leavesView.frame = self.view.bounds;
leavesView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
[self.view addSubview:leavesView];
}
}