C'est tellement simple im sûr! Je manque quelque chose et je suis épuisé d'essayer de le réparer. J'espère que quelqu'un peut aider.Iphone UIButton ne fonctionne pas dans UIViews imbriqués
Le bouton dans CharacterView.m fonctionne mais le bouton imbriqué dans CharacterMale.m ne fonctionne pas. Je n'utilise pas IB tout est fait progmatiquement. Qu'est-ce qui provoquerait le fonctionnement d'un bouton et d'autres pas?
/////////////////////////////////////////////////////////////////////////////////
CharacterController.m
/////////////////////////////////////////////////////////////////////////////////
#import "CharacterController.h"
#import "CharacterView.h"
@implementation CharacterController
- (id)init {
NSLog(@"CharacterController init");
self = [ super init ];
if (self != nil) {
}
return self;
}
- (void)loadView {
[ super loadView ];
characterView = [ [ CharacterView alloc ] init];
self.view = characterView;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)dealloc {
[super dealloc];
}
@end
/////////////////////////////////////////////////////////////////////////////////
CharacterView.m
/////////////////////////////////////////////////////////////////////////////////
#import "CharacterView.h"
#import "CharacterMale.h"
@implementation CharacterView
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
characterMale = [ [ CharacterMale alloc ] init];
[self addSubview: characterMale];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 200, 200, 100);
[button setImage:[UIImage imageNamed:@"btnCharSelect.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(ApplyImage:) forControlEvents:UIControlEventTouchUpInside];
[ self addSubview: button ];
}
return self;
}
- (void)drawRect:(CGRect)rect {
}
-(void)ApplyImage:(id)sender
{
NSLog(@"CharacterView button works");
}
- (void)dealloc {
[super dealloc];
}
@end
/////////////////////////////////////////////////////////////////////////////////
CharacterMale.m
/////////////////////////////////////////////////////////////////////////////////
#import "CharacterMale.h"
#import "CharacterController.h"
@implementation CharacterMale
- (id)init {
self = [ super init];
if (self != nil) {
UIImage *image = [UIImage imageNamed:@"charMale.png"];
imageView = [[ UIImageView alloc] initWithImage:image];
[image release];
[ self addSubview: imageView ];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 200, 100);
[button setImage:[UIImage imageNamed:@"btnCharSelect.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(ApplyImage:) forControlEvents:UIControlEventTouchUpInside];
[ self addSubview: button ];
}
return self;
}
-(void)ApplyImage:(id)sender
{
NSLog(@"CharacterMal button works");
}
- (void)dealloc {
[super dealloc];
}
@end
Que voulez-vous dire que vos boutons ne fonctionnent plus? Sont-ils activés mais n'appellent pas les sélecteurs ou ne pouvez-vous pas les cliquer du tout? Aussi comment les raccordez-vous aux sélecteurs? Si vous utilisez IB, vérifiez les prises et les connexions – nduplessis
Je ne peux pas cliquer sur le bouton du tout, rien ne se passe. Si je prends la classe View, le bouton est situé hors de son parent Voir le bouton le travail. Je n'utilise pas IB. Je connecte le bouton en utilisant: [bouton addTarget: self action: @selector (ApplyImage :) forControlEvents: UIControlEventTouchUpInside]; Encore une fois cela fonctionne bien quand il n'est pas imbriqué dans une autre vue. –
J'ai posté tous les 3 classes. Quelqu'un peut-il aider? –