Dav*_*e W 9 ipad uiinterfaceorientation vfr-reader ios8
我正在我的应用程序中使用VFR PDF查看器库,我在其中呈现它:
ReaderDocument *document = [ReaderDocument withDocumentFilePath:pdfFile password:nil];
ReaderViewController *vc = [[ReaderViewController alloc] initWithReaderDocument:document];
[self.navigationController pushViewController:vc animated:YES];
Run Code Online (Sandbox Code Playgroud)
如果我在iOS7上运行,一切正常.
如果我跑我的iOS8上的应用程序,在ReaderViewController的willRotateToInterfaceOrientation方法不会被调用,所以当设备旋转文档不能正确格式化.
但是,如果我运行自带的iOS8上的库中的演示应用程序,在ReaderViewController的willRotateToInterfaceOrientation不会被调用,这使我相信图书馆是确定的,我做错了什么(或者忽略做某事)在我应用程序.
我对这种行为感到很困惑.为什么不在我的iOS8应用程序中调用rpmRotateToInterfaceOrientation,但它在其他变体下呢?我怎样才能尝试追踪这个?
Dav*_*e W 12
我终于设法解决了我的问题; 这是问题,以防其他人有同样的问题.
我ReaderViewController是从已经实现的类中呈现的viewWillTransitionToSize:withTransitionCoordinator:,因此未调用子视图控制器上已弃用的方法.
同样在那个实现中它没有调用
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]
Run Code Online (Sandbox Code Playgroud)
所以viewWillTransitionToSize:withTransitionCoordinator:没有调用所有子视图控制器的方法.
修复是添加一个调用
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]
Run Code Online (Sandbox Code Playgroud)
进入父VC的viewWillTransitionToSize:withTransitionCoordinator:方法,子类ReaderViewController,然后添加一个viewWillTransitionToSize:withTransitionCoordinator:到我的子类来调用相应的方法ReaderViewController.