Pregunta

Deseo configurar una imagen de fondo de UIToolbar en mi aplicación para iPhone.

Actualmente estoy de ajuste utilizando UIColor del initWithPatternImage:.

Pero no es hacer lo que quiero.

Por favor sugerir alguna otra solución.

¿Fue útil?

Solución

O puede presentar clase personalizada y asignarlo a su control (a través constructor de interfaces) y en el interior que implementar el método drawRect ...

como

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

Otros consejos

No es necesario crear una clase personalizada. Se puede añadir un CATEGORÍA UIToolBar a la siguiente

@implementation UIToolbar (UIToolbarCategory)
- (void)drawRect:(CGRect)rect {
    UIColor *color = [UIColor colorWithRed:0.547 green:0.344 blue:0.118 alpha:1.000]; //whatever goes well with your background image.
    UIImage *img  = [UIImage imageNamed: @"your-navbar-img.png"];
    [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
    [img release];
    self.tintColor = color;
    [super drawRect:rect];
}
@end

he probado y que está funcionando bien.

P.S: He probado con 4.3 anoche y no ha funcionado como se esperaba, pero funciona bien con 4.2. No encuentro ninguna razón, sin embargo, se actualizará una vez que encuentre fragmento de la derecha.

Para 4.3 y anteriores, debe subclase no es compatible con la categoría Además UIToolbar o UINavigationBar. El siguiente código funciona con 4,3

#import <UIKit/UIKit.h>


@interface MyAppToolBar : UIToolbar{

}

@end

@implementation MyAppToolBar

- (void)drawRect:(CGRect)rect {
    [super drawRect:rect];
    UIColor *color = [UIColor colorWithRed:0.547 green:0.344 blue:0.118 alpha:1.000]; //wood tan color
    UIImage *img  = [UIImage imageNamed: @"your-navbar-img.png"];
    [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
    [img release];
    self.tintColor = color;

}

@end

El problema de la limitación es, tiene que cambiar el CustomClass de cada objeto UIToolbar que tiene en toda su archivo XI ter. Y me temo que no va a afectar a la barra de navegación cuando se abre UIImagePickerController para que coincida con su estilo de aplicación.

Ver esta última pregunta:? en la parte superior de UINavigationBar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top