2011-09-07 4 views
1

첫 번째 뷰에는 두 개의 버튼이 있으므로 버튼 하나를 클릭하면 뷰가 변경되어 기본 상태와 두 개의 이미지가 표시됩니다. 선택된 상태, 먼저 xib와 속성을 시도하고 상태를 변경 한 다음 올바른 이미지를 선택하고 빌드하고 코드를 실행할 때 이미지를 바꾼다는 것은 변경되지 않습니다 ..버튼 이미지 변경 버튼이 선택되면 아이폰에서

코드 여기

- (IBAction) handleButton:(id)sender 
{ 
    UIButton *button = (UIButton*)sender; 
    int tag = [button tag]; 

    switch (tag) 
    { 
     case BUTTON_1: 
      if ([m_Button1 isSelected]) 
      { 

[m_Button2 setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];                     
       [m_Button1 setSelected:NO]; 
      } 
      else 
      { 
       [m_Button1 setImage:[UIImage imageNamed:@"image_pressed.png"] forState:UIControlStateSelected]; 
       [m_Button1 setSelected:YES]; 
      } 
      [self displaymethod1]; 
      break; 
     case BUTTON_2: 
      [self displaymethod2]; 
      break; 
     default: 
      break; 
    } 
} 

을 통해 내가 그것을 클릭하면 이미지가 변경하고 나는 다시 돌아올 view..when diffrent로 이동 내 첫 번째보기는 버튼은 여전히 ​​내가 정한다 어떻게 이런 일이 ..

내가 생각

답변

16

는 IB를 통해 조금 더 간단하다 당신의 응답을 기다리는 mode..so 선택됩니다.

IB에 일반 Round Rect Button을 추가하면 Attributes Inspector 패널의 Button 섹션으로 이동하여 동작을 수정할 수 있습니다.

State ConfigDefault으로두면 기본 상태로 사용할 이미지를 먼저 선택하십시오. 이 경우 imagebackground image 속성이 있습니다. 설정이 완료되면 State ConfigHighlighted으로 변경하고 버튼이 강조 표시 될 때 표시 할 이미지를 선택할 수 있습니다.

참고 : 이것은 입니다.

+0

안녕 rjgonzo,'Highlighted' 아니라'Selected' 있었다 나는 그것을했다하지만 난 확실히 두 번째'국가 Config' 확인 – Ranjit

+2

그것을 클릭 할 때 이미지 변경 실 거예요. – rjgonzo

+0

고마워요. .. 매력처럼 작동합니다. 많은 코딩을 저장합니다. 톤 감사합니다. – Ranjit

0

보기가 나타나면 모든 변수와 UI 속성을 초기화해야합니다. 보기에 메서드가 나타납니다. (모든 경우에 솔루션이 요구 사항에만 해당)

여기에서 버튼 기본 상태 및 이미지를 설정할 수 있습니다.

-(void)viewWillAppear:(BOOL)animated 
{ 
[m_Button2 setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];               
[m_Button1 setSelected:NO]; 
... 
}