[iPhone] 배경 이미지를 사용하여 UIButton 만들기

배경 이미지를 사용하여 버튼의 터치 전/후 모습을 만드는 예제입니다. 간단하게 다음의 소스를 보시죠.

[code]- (void)applicationDidFinishLaunching:(UIApplication *)application {
    // 버튼에 사용할 이미지를 읽어들인다
    UIImage *normalImage = [UIImage imageNamed:@”test_btn_01.png”];
    UIImage *touchImage = [UIImage imageNamed:@”test_btn_02.png”];
   
    // 버튼 생성
    CGRect buttonRect = CGRectMake(30.0f, 50.0f, 83.0f, 23.0f);
    UIButton *button = [[UIButton alloc] initWithFrame:buttonRect];

    // 버튼의 배경 이미지 설정
    [button setBackgroundImage:normalImage forState:UIControlStateNormal];
    [button setBackgroundImage:touchImage forState:UIControlStateHighlighted];
   
    // 버튼의 문자 설정
    [button setTitle:@”Click Me” forState:UIControlStateNormal];
    [button setTitle:@”Thanks” forState:UIControlStateHighlighted];
   
    [button setFont:[UIFont boldSystemFontOfSize:12.0f]];
   
    // 버튼을 window에 붙인다
    [window addSubview:button];
    [button release];
   
    // 버튼의 투명영역이 제대로 적용되었는지 확인을 위해 배경색을 회색으로 변경
    [window setBackgroundColor:[UIColor grayColor]];
    [window makeKeyAndVisible];
}[/code]

forState를 보시면 아시겠지만 일반상태는 UIControlStateNormal이고 눌렸을때의 상태는 UIControlStateHighlighted입니다.

버튼의 모서리 부분이 투명처리 된 PNG를 사용했습니다, 예제를 통해 별다른 처리 없이 투명처리가 잘 되는 것을 알 수 있습니다.

사용자 삽입 이미지

터치된 상태


바로 실행해 볼 수 있는 소스를 그냥 첨부하였습니다.
1381365972.zip