从vfr pdf控制器返回时,解除基于tabbar的视图控制器

时间:2014-04-09 20:35:47

标签: ios objective-c pdf

我目前正在开发一个基于标签栏的项目,在我的四个标签中,三个只显示表数据或图像。我的问题源于尝试使用选项卡显示带有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视图消失,但仍保留空白视图。

1 个答案:

答案 0 :(得分:0)

想出来,我用viewDidLoad调用我的控制器代码。一旦我解雇它,它再也没有被召唤过。将代码移动到viewWillAppear修复了我的控制器演示问题。至于不解除底层视图,我在按下vfr中的完成按钮时找到了通过tabbarcontroller数组索引调用视图的方法。