我目前正在开发一个基于标签栏的项目,在我的四个标签中,三个只显示表数据或图像。我的问题源于尝试使用选项卡显示带有vfr的PDF文件。我可以在程序第一次加载时单击选项卡,所有内容似乎都正常工作。当我点击完成后,阅读器视图控制器被解除,但底层控制器仍然空着。由于视图仍然存在,因此在我的选项卡中来回点击永远不会允许vfr重新加载其视图,因为viewDidLoad是我用来调用它的。如何解除底层控制器?或者是否有更好的方法在基于故事板标签的应用程序中调用vfr?
我的控制器代码调用vfr
@implementation testViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSString *file = [[NSBundle mainBundle] pathForResource:@"emsformulary" ofType:@"pdf"];
ReaderDocument *document = [ReaderDocument withDocumentFilePath:file password:nil];
if (document != nil) {
ReaderViewController *readerViewController =[[ReaderViewController alloc] initWithReaderDocument:document];
readerViewController.delegate = self;
readerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
readerViewController.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:readerViewController animated:YES completion:nil];
}
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)dismissReaderViewController:(ReaderViewController *)viewController
{
[self dismissViewControllerAnimated:NO completion:nil];
}
@end
dismissReaderViewController由vfr中的done按钮调用。一旦调用vfr pdf视图消失,但仍保留空白视图。
答案 0 :(得分:0)
想出来,我用viewDidLoad调用我的控制器代码。一旦我解雇它,它再也没有被召唤过。将代码移动到viewWillAppear修复了我的控制器演示问题。至于不解除底层视图,我在按下vfr中的完成按钮时找到了通过tabbarcontroller数组索引调用视图的方法。