Điều này thật là đơn giản. Im thiếu một cái gì đó và im kiệt sức từ cố gắng sửa chữa nó. hy vọng ai đó có thể giúp đỡ.Iphone UIButton không hoạt động trong lồng nhau UIViews
Nút trong CharacterView.m hoạt động nhưng nút được lồng trong CharacterMale.m thì không. Tôi không sử dụng IB tất cả mọi thứ được thực hiện progmatically. Điều gì sẽ khiến một nút hoạt động và nút khác không hoạt động?
/////////////////////////////////////////////////////////////////////////////////
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
Bạn có nghĩa là các nút của bạn ngừng hoạt động? Chúng được kích hoạt nhưng không gọi bộ chọn hoặc bạn không thể nhấp vào chúng? Ngoài ra làm thế nào để bạn móc chúng lên đến các bộ chọn? Nếu bạn đang sử dụng IB, hãy kiểm tra các cửa hàng và các kết nối – nduplessis
Tôi không thể nhấp vào nút nào cả, không có gì xảy ra. Nếu tôi lấy lớp View, nút nằm ở ngoài bố mẹ của nó Xem nút công trình. Tôi không sử dụng IB. Tôi kết nối nút bằng cách sử dụng: [button addTarget: self action: @selector (ApplyImage :) forControlEvents: UIControlEventTouchUpInside]; Một lần nữa nó hoạt động tốt khi nó không được lồng vào một khung nhìn khác. –
Tôi đã đăng tất cả 3 lớp. Ai đó có thể giúp đỡ? –