2012-08-06 3 views
4

내가 UIButton 이미지를 변경하기 위해이 일을하고 변경하지 않고, 여기에 모든 "스위치"목표 - C가 :있는 UIButton 이미지

-(IBAction)userselect:(id)sender 
{ 
    UIButton *btnTagcatcher =(UIButton *)sender; 
if(btnTagcatcher.tag == 1) 
    { 
     if(btnimgflag1 == 0) 
      { 
       NSString* path = [[NSBundle mainBundle] pathForResource:@"check-box-withtick-1n1" 
                    ofType:@"png"]; 
       UIImage *image = [[UIImage alloc] initWithContentsOfFile:path]; 
       [switch1 setImage:image forState:UIControlStateNormal]; 
       NSString* path1 = [[NSBundle mainBundle] pathForResource:@"check-box-withouttickn1" 
                    ofType:@"png"]; 
       UIImage *image1 = [[UIImage alloc] initWithContentsOfFile:path1]; 
       [switch2 setImage:image1 forState:UIControlStateNormal]; 
       [switch3 setImage:image1 forState:UIControlStateNormal]; 
       [switch4 setImage:image1 forState:UIControlStateNormal]; 
       btnimgflag2 = 0; 
       btnimgflag3 = 0; 
       btnimgflag4 = 0; 


       btnimgflag1 = 1; 
      } 
      else if(btnimgflag1 == 1) 
      { 
     NSString* path = [[NSBundle mainBundle] pathForResource:@"check-box-withouttickn1" 
                    ofType:@"png"]; 
       UIImage *image = [[UIImage alloc] initWithContentsOfFile:path]; 

       //[switch1 setImage: image]; 
       [switch1 setImage:image forState:UIControlStateNormal]; 
       btnimgflag1 = 0; 
      } 

그러나 일부 시간은 일반적으로 (첫번째 누르면, UIButtonIBOutlets 있습니다 시간) 도청하면 버튼 이미지가 변경되지 않습니다.

나는 여기에서 무슨 일이 일어나고 있는지 전혀 모른다. 사전에 고맙습니다.

감사합니다.

답변

1

else if(btnimgflag1 == 1)을 간단한 else 문으로 변경할 수 있습니까? if 부분에서 btnimgflag1을 1 btnimgflag1 = 1;으로 지정하기 때문입니다. 그냥 내 추측과 똑같은 문제가있었습니다 !! 그게 도움이 안되면 !! IBOutlet connections이 문제가되어야합니다 !!

1

코드를 디버그하고 버튼의 올바른 태그를 가져 오는지 확인하십시오. 코드를 붙여 넣은 내용을 설명하고 복사 한 것을 정확히 구현했지만 작동하지 않습니다. 그런 다음 if(btnTagcatcher.tag == 1)if(btnTagcatcher.tag == 0)으로 변경했습니다. 이제 작동 중입니다. 확인해보십시오.

이벤트에 문제가있는 경우 이메일 ID를 보내주세요. 완전한 코드를 보내 드리겠습니다.