QLPreviewController находится под панелью навигации и панелью вкладок
Как сделать так, чтобы я мог видеть все, содержимое QLPreviewController находится под панелью навигации.
Документ выглядит так в TextEdit.
Я загружаю вещи с этим кодом:
@implementation TextViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.preview = [[QLPreviewController alloc] init];
self.preview.dataSource = self;
self.preview.delegate = self;
[self addChildViewController:self.preview];
[self.view addSubview:self.preview.view];
[self.preview didMoveToParentViewController:self];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)viewDidAppear:(BOOL)animated
{
[self.preview refreshCurrentPreviewItem];
}
- (void) loadData: (NSString *)name;
{
assert(![name isEqualToString:@""]);
// Load the plist
NSString *resourcePath = [[NSBundle mainBundle] resourcePath];
NSString *path = [resourcePath stringByAppendingPathComponent:name];
self.info = [[NSDictionary alloc] initWithContentsOfFile:path];
NSString *rtfPath = [resourcePath stringByAppendingPathComponent:[self.info valueForKey:@"transcript"]];
self.url = [NSURL fileURLWithPath:rtfPath];
[self.preview refreshCurrentPreviewItem];
}
- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index
{
if ([QLPreviewController canPreviewItem:self.url]) {
return self.url; // This always returns
}
return nil; // This line is never executed
}
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
return 1;
}
@end
Как мне сделать так, чтобы QLPreviewController учитывал панель навигации?
1 ответ
Сделайте что-то подобное, прежде чем вставлять как дочерний вид.
CGFloat w= self.view.frame.size.width;
CGFloat h= self.view.frame.size.height;
self.preview.view.frame = CGRectMake(0, 0,w, h);