私は QLPreviewController をサブクラス化し、使用しました
[[self navigationItem] setRightBarButtonItem:nil];
しかし、navigationItem は iOS6 ではなく iOS 5 でのみ削除されます
私は QLPreviewController をサブクラス化し、使用しました
[[self navigationItem] setRightBarButtonItem:nil];
しかし、navigationItem は iOS6 ではなく iOS 5 でのみ削除されます
ナビゲーションアイテムをチェックして削除するタイマーを作成することで、なんとかできました
コードは次のとおりです。
[self inspectSubviewsForView:self.view];
- (void)inspectSubviewsForView:(UIView *)view
{
for (UIView *subview in view.subviews)
{
NSLog(@"class detected %@",[subview description]);
if ([subview isKindOfClass:[UINavigationBar class]])
{
UINavigationBar *bar = (UINavigationBar *)subview;
if ([[bar items] count] > 0)
{
UINavigationItem *navItem = [[bar items] objectAtIndex:0];
[navItem setRightBarButtonItem:nil];
{
}
if ([subview isKindOfClass:[UIView class]] && [[subview subviews] count] > 0)
{
[self inspectSubviewsForView:subview];
}
}
}
[self inspectSubviewsForView:subview];
}
}
Simple solution for this is add one dummy view to current viewController and Add QLPreviewController.view to dummy view .
previewController = [[QLPreviewController alloc] init];
previewController.dataSource = self;
previewController.delegate = self;
previewController.currentPreviewItemIndex = 0;
[self.ContentView addSubview:previewController.view];
- (IBAction)removeQPView:(id)sender {
[previewController.view removeFromSuperview];
}