문제

이건 너무 간단 해요 확실합니다! 나는 무언가를 놓치고 그것을 고치려고 노력하는 것에 지쳤다. 누군가가 도울 수 있기를 바랍니다.

artericview.m의 버튼은 작동하지만 버튼은 문자 male.m에 중첩되어 있지 않습니다. 나는 IB를 사용하지 않고 모든 것이 끔찍하게 완료됩니다.

arcainteview.m은 컨테이너로 사용되고 있습니다

/////////////////////////////////////////////////////////////////////////////////
 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 {
    [characterView release];
    [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 {
    [characterMale release];
    [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
도움이 되었습니까?

해결책

마지막으로!!!!!!

나는 InitwithFrame으로 모든보기를 시작하고 유효한 프레임 낙타로 통과해야했습니다. init는 컨트롤러와 함께 사용해야하며 uiviews에 대한 rects를 통과하는 InitwithFrame을 사용해야합니다 !!!!

characterView = [ [ CharacterView alloc ] initWithFrame:CGRectMake(0, 0, 480, 320)]; 
then 
characterMale = [ [ CharacterMale alloc ] initWithFrame:frame];

다른 팁

나도 이것에 익숙하지 않지만 시도해 보셨습니까?

Charmale.png 이미지는 얼마나 큰가요? 캐릭터 남성의 이미지와 버튼의 zoRORD는 무엇입니까? 이미지가 버튼 위에 앉아서 만지는 것을 방지 할 수 있습니다.

바라건대 이것은 문제입니다 ... 나는 아직 다른 것을 보지 못했습니다 ...

버튼 프레임을 확인하십시오. 당신은 설정했습니다 (0,0,200,100);

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top