#ios #pdf #viewer
#iOS #PDF #просмотрщик
Вопрос:
Я загрузил следующий код для реализации flipper страницы PDF из библиотеки разработчика Apple ios: https://developer.apple.com/library/ios/samplecode/ZoomingPDFViewer/Introduction/Intro.html
Я скопировал 2 uiviewcontrollers в свою собственную раскадровку и добавил все классы, кроме appdelegate . Затем в одном из моих предыдущих uiviewcontrollers я написал :
RootViewController *page = [[RootViewController alloc] init];
[self.navigationController pushViewController:page animated:YES];
но эта строка возвращает nil вместо экземпляра DataViewController :
DataViewController *dataViewController = [storyboard instantiateViewControllerWithIdentifier:@"DataViewController"];
Хотя я уверен, что установил идентификатор раскадровки в контроллер DataView…
Спасибо за вашу помощь!
Комментарии:
1. Предоставленная вами ссылка ссылается только на файл заголовка, сама по себе она бесполезна. Существует множество руководств, Apple one хорош developer.apple.com/library/ios/samplecode/ZoomingPDFViewer/… (прочитайте все) в противном случае вы видели, пробовали это: youtube.com/watch?v=Fs-PZvaa47s
2. Да, ссылка указывала на файл заголовка, но это то же самое, что и ваша ссылка developer.apple.com/library/ios/samplecode/ZoomingPDFViewer /…
3. Что я хотел бы знать, так это то, что я что-то забыл, когда копировал / вставлял UIViewControllers в свою собственную раскадровку.
Ответ №1:
Если кто-нибудь столкнется с той же проблемой, вот что я сделал неправильно: я скопировал / вставил код, но я не был осторожен со строкой в коде, которая использовала
self.storyboard
Вы должны заменить его на :
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
где «Main» должно быть заменено именем вашей раскадровки.