2011-07-28 54 views

Respuesta

3

Si coloca el UIDocumentInteractionController en un UINavigationController, tomará automáticamente el color de su barra de navegación. Este es probablemente su navegador de vistas raíz.

Esto se hace con el método 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; 
} 
2

[[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:107.0/256.0 green:145.0/256.0 blue:35.0/256.0 alpha:1.0]];

colocar este código en el método de AppDelegate didFinisLaunching. Cambiará el color de la barra de navegación para toda la aplicación.

+0

esto va a cambiar el color de la totalidad aplicación –

10

Una versión más limpia de aplicación @DOOManics:

- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller 
{ 
    return [self navigationController]; 
} 
+0

gran respuesta no parece .. –

0

Si no está utilizando un navigationController, se puede establecer el color de la barra de navegación en el UIDocumentInteractionController estableciendo los ajustes correctos en la vista de la UIViewController donde ejecuta el UIDocumentInteractionController desde.

Digamos que tienes UIViewController viewController1 (desde algún lugar aquí ejecutas el UIDocumentInteractionController), con una View1 en el guión gráfico.

Con el Storyboard abierto, haga clic en Ver1 en la lista de elementos en viewController1 y vaya a "Atributos inspectores" en el lado derecho. El Fondo y el Tinte establecidos allí se usarán en su UIDocumentInteractionController también más adelante.

a continuación, puedes utilizar:

- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller 
{ 
    return self; 
} 

Tenga en cuenta que dentro de la viewController1, es posible que tenga una barra de navegación con diferentes propiedades, y estos no serán utilizados en el UIDocumentInteractionController.

+0

a trabajar para! yo en ios7. Cambié el tinte y el color de fondo como describió, pero los botones del controlador de vista previa permanecen en azul. – kritzikratzi

1

Prueba este código:

- (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]; 

}

Cuestiones relacionadas