Pregunta

Por lo tanto, tengo esta aplicación basada en la navegación (con un navigationbar encargo - Categoría) y tengo 2 problemas aquí ...

@implementation UINavigationBar (Custom)

- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed: @"bg_toolbar.png"];
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

@end

Debido a la aplicación basada en la navegación, la mayor parte de los puntos de vista tienen una Altura 436px (= ScreenSize - navigationbar altura, como usted probablemente sabe;).

Tengo una vista similar a la visión general aplicación foto que muestra todas las miniaturas, a partir de ahí me empuja un viewcontroller que contiene la vista de desplazamiento (al igual que en aplicación de fotos) en la pila, al igual que

- (void)buttonPressed:(id)sender 
{
    UIButton *btn = (UIButton *)sender;
    PhotoSetScrollViewController *psc = [[PhotoSetScrollViewController alloc] initWithPhotoArray:photos andID:btn.tag];
    [self.navigationController pushViewController:psc animated:YES]; 
}

Problema 1 : El punto de vista que sostiene la ScrollView pantalla completa tiene un Altura 480px , que parece ser un problema porque cuando poping la viewcontroller pulsando el botón de retroceso, la vista que contiene las miniaturas (altura < fuertes strong>) se mueve> 436px

EDIT: El ScrollView pantalla completa también se está moviendo cuando se muestra la navegación y la barra de herramientas (oculta inicialmente). E incluso sin la costumbre navigationbar me sale de las vistas flotando alrededor. Eso es raro.

Problema 2 : ¿Cómo podría cambiar entre mi barra de navegación personalizada y el estilo estándar translúcido negro?

¿Fue útil?

Solución

jd,

Problema 1: Por favor, aclarar su pregunta .... ¿Estás tratando de hacer que sea la misma que la aplicación Fotos, cuando se hace clic en una sola foto y entonces se puede ocultar la barra de navegación y la barra de herramientas? A menos que explícitamente se oculta la barra de herramientas, se seguirá mostrando cuando usted hace estallar la vista pulsando el botón de retroceso. Puede retrasar la vista pop y ocultarlo o disimularlo dentro del método viewDidAppear del controlador de vista previa.

Si su vista se mueve alrededor, es posible que desee comprobar la configuración del marco de IB (segunda a la última pestaña en la ventana de inspección después de hacer clic en la vista en cuestión). También, asegúrese de poner la barra de navegación en Falsificaste en sus archivos XIB por lo que puede poner todo de manera correcta.

Problema 2:

En primer lugar, comprobar este post: utilizando una imagen o tono de color en UINavigationBar en iPhone?

A continuación, utilice esto, así:

self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top