UIDocumentInteractionControllerナビゲーションバーの色合い/背景色を変更する方法はありますか?UIDocumentInteractionControllerナビゲーションバーの色を変更する
答えて
UIDavumentControllerをUINavigationControllerに配置すると、そのナビゲーションバーの色が自動的に取得されます。これはおそらくルートビューのnavcontrollerです。
あなたはdocumentInteractionControllerViewControllerForPreview
方法でこれを行う:
- (UIViewController *) documentInteractionControllerViewControllerForPreview: (UIDocumentInteractionController *) controller
{
// Use the rootViewController here so that the preview is pushed onto the navbar stack
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
return appDelegate.window.rootViewController;
}
[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:107.0/256.0 green:145.0/256.0 blue:35.0/256.0 alpha:1.0]];
置き、このコードAppdelegateのdidFinisLaunching
方法インチそれは、アプリケーション全体のナビゲーションバーの色を変更します。
@DOOManics実装のクリーナーバージョン:
- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller
{
return [self navigationController];
}
偉大な答えの色を変更します。.. –
あなたがnavigationControllerを使用していない場合、あなたはどこのUIViewControllerのビューに正しい設定を設定することにより、UIDocumentInteractionControllerにナビゲーションバーの色を設定することができますからUIDocumentInteractionControllerを起動します。
ここで、UIViewController viewController1(ここではUIDocumentInteractionControllerを起動しています)と、ストーリーボードのView1を持っているとします。
ストーリーボードを開いた状態で、viewController1の要素のリストからView1をクリックし、右側の「属性インスペクタ」に移動します。 UIDocumentInteractionControllerには、そこに設定されている背景と色合いが後で使用されます。
次に、あなただけ使用することができます。
- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller
{
return self;
}
注viewController1の内側に、あなたは異なる特性を持つナビゲーションバーを持っているかもしれないが、これらはUIDocumentInteractionControllerに使用されないこと。
のために働くようではありません!私はios7。あなたが説明したように色合いと背景色を変更しましたが、プレビュービューコントローラーのボタンは青色のままです。 – kritzikratzi
このコードを試してみてください。
- (void)openEC:(NSURL*)url {
[UINavigationBar appearance].tintColor = [UIColor blueColor];
docController = [UIDocumentInteractionController interactionControllerWithURL:url];
[docController setDelegate:self];
[docController presentOptionsMenuFromRect:self.view.bounds inView:self.view animated:YES];
}
- (void)documentInteractionControllerDidDismissOptionsMenu:(UIDocumentInteractionController *)controller {
[UINavigationBar appearance].tintColor = [UIColor whiteColor];
}
これは全体のアプリ –