el establecimiento de imagen de fondo de UIToolBar en iPhone
-
27-09-2019 - |
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.
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