본문 바로가기

iPhone

IB에서 각 UIControlState 에서의 UIButton 의 이미지 설정

간단한 Tip 입니다.

1. 코드

UIButton 을 이미지로 대체 하시는 경우 UIControlState 각 상태별 이미지를 따로 셋팅하시려 할 때,

[buttonObj setImage:<#(UIImage *)image#> forState:<#(UIControlState)state#>];


위에서 처럼, 버튼 객체의 setImage 메소드를 실행하시면 됩니다. 메소드는 두개의 파라미터 UIImage 와 UIControlState 를 인자로 넘겨주면 됩니다.

// 기본 상태에서의 Image 설정

[buttonObj setImage:[UIImage imageNamed:@"image.png"

  forState:UIControlStateNormal];

// 하이라이트 상태에서의 Image 설정

[buttonObj setImage:[UIImage imageNamed:@"image.png"

  forState:UIControlStateHighlighted];

// 사용 불가능 상태에서의 Image 설정

[buttonObj setImage:[UIImage imageNamed:@"image.png"

  forState:UIControlStateDisabled];

// 선택 상태에서의 Image 설정

[buttonObj setImage:[UIImage imageNamed:@"image.png"

  forState:UIControlStateSelected];



2. IB(Interface Builder)

IB 에서는 UIButton 을 선택 하신 후, Attribute 창을 보시면, Button Attribute 창에 Default State Configuration 이 선택 된 콤보박스가 있습니다. 


콤보 박스를 선택 하시면, 각 UIControlState 별 설정을 변경 하실 수 있습니다. 이때, Image 값에 각 상태별 이미지 명을 입력하시면 되겠죠 :)