J'écris une sous-classe UIButton personnalisée, pour créer mon propre bouton entièrement personnalisé pour avoir le contrôle total. Pourtant, j'ai des problèmes quand j'essaie d'ajouter une sous-vue à la vue de ce UIButton. Les blocs les sous-vue événements « toucher » donc il ne sera pas bulle le UIButton lui-même ..Sous-vue de la classe UIButton personnalisée ne déclenche pas cliquer
Ceci est une démonstration: J'ai d'abord créer mon CustomNavigationButton, avec un cadre .. C'est magenta. Je peux voir le magenta sur l'écran, donc c'est là. Deuxièmement, j'ajoute une sous-vue à ce CustomNavigationButton (qui est vert), je peux voir le vert donc c'est là, mais si je clique sur le rectangle vert (subview), le "UIControlEventTouchUpInside" ne se fait pas appeler sur mon CustomNavigationButton ..
Dans mon AppDelete:
CustomNavigationButton* mapBtn = [[CustomNavigationButton alloc] initWithFrame:CGRectMake(0, 0, 100, 25)];
mapBtn.backgroundColor = [UIColor magentaColor];
[mapBtn addTarget:self action:@selector(goMapHandler:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:mapBtn];
Et voici ma classe CustomNavigationButton (qui est une sous-classe de UIButton)
@implementation CustomNavigationButton
@synthesize bg;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// STORE INITIAL FRAME
self.initialFrame = frame;
bg = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 40, 40)];
bg.backgroundColor = [UIColor greenColor];
[bg setUserInteractionEnabled:YES];
[self addSubview:bg];
}
return self;
}
@end
Merci, ça me rendait fou! – Jano