2011-10-25 5 views
5

UIButton의 그림을 그리는 방법은 무엇입니까?UIButton의 배경 이미지 위에 사용자 지정 그림

나는 서브 클래스가 UIButton이므로 UIMyButton이라고 부르 자. .xib 컨트롤러에 추가하고 배경 이미지를 제공합니다. 그런 다음 UIMyButton.m 파일에서 drawRect 메서드를 무시하고 모양을 그립니다. 뭔가 같은 :

- (void)drawRect:(CGRect)rect { 
    CGContextRef c = UIGraphicsGetCurrentContext(); 
    CGContextSetFillColorWithColor(c, [UIColor orangeColor].CGColor); 
    CGContextFillRect(c, rect); 
} 

문제는 배경 이미지 아래에 주황색 사각형을 그리는 것입니다. 배경 이미지를 그리거나 업데이트하는 방법은 무엇입니까 (예 : "탭 다운"할 때 업데이트됩니까?)? 추가 맞춤형 하위보기를 단추에 추가하지 않고 그리기를 강제로 수행하려면 어떻게해야합니까 (또는 배경 이미지 자체가 하위보기입니까?).

나는 그림 시퀀스 UIButton이 어떻게 작동하는지 명확하게 이해하려고합니다.

+0

안녕하세요 Bastek - 거기에 있습니까? 정말 훌륭한 답변을 아래에 체크해야합니다! – Fattie

답변

4

해결 방법은 버튼의 배경을 사용하지 않는 것입니다. 대신, drawRect 메소드 안에 다음과 같이 이미지를 그립니다.

-(void)drawRect:(CGRect)rect 
{ 
    CGContextRef ctx=UIGraphicsGetCurrentContext(); 

    UIImage *image = [UIImage imageNamed:@"image.jpg"]; 
    [image drawInRect:self.bounds]; 

    CGContextSetFillColorWithColor(c, [UIColor orangeColor].CGColor); 
    CGContextFillRect(c, rect); 
} 
관련 문제