2012-02-13 1 views
1

안녕하세요, 내 응용 프로그램 내에서 즐겨 찾기를 처리하는 기능을 작성하고 있습니다. 즐겨 찾기 단추의 이미지를 변경하면서 다른 UIScrollView DoubleScrollLeft에서 해당 단추의 이미지를 변경하려고합니다.인스턴스로 전송 된 인식 할 수없는 선택기 UIButton 배경을 변경할 때

아래의 코드가 작동합니다 HOWEVER '0'태그가있는 첫 번째 버튼을 가장 좋아하면 다음과 같은 오류가 발생합니다. 이유가 무엇입니까? (나머지 작업).

는 - [있는 UIScrollView setBackgroundImage는 : forState :] : 미정 선택기 예 0x14e3b0 화상 그것이 떨어져 오른쪽 버튼의 제목을 밀어 변경 않은 일단 또한

전송 I 프레임을 재설정해야 할 등. 내가 상태를 위해 배경을 바꿀 때?

-(void)favButtons:(id)sender { 

int i = [sender tag]; 
NSString *fav = [NSString stringWithFormat:@"%i", i]; 

    if ([[Favinsults objectForKey:fav] isEqualToString:@"0"]){ 

    [sender setImage:[UIImage imageNamed:@"favButton1.png"] forState:UIControlStateNormal]; 

    UIButton* button = (UIButton *)[DoubleScrollLeft viewWithTag:i]; 
    [button setBackgroundImage:[UIImage imageNamed:@"buttonD1.png"] forState:UIControlStateNormal]; 

    } else { 

    [sender setImage:[UIImage imageNamed:@"favButton0.png"] forState:UIControlStateNormal]; 

    UIButton* button = (UIButton *)[DoubleScrollLeft viewWithTag:i]; 
    [button setBackgroundImage:[UIImage imageNamed:@"buttonD0.png"] forState:UIControlStateNormal]; 

    } 
} 

답변

2

UIScrollviewIBAction 방법에 연결된 잘못 연결이 될 것 같다. IB 연결을주의 깊게 확인하십시오.

+0

하지만 왜 그것은 보낸 사람 태그가 0 일 때만 발생합니까? – Wez

+0

기본 태그 값은 0입니다. 보낸 사람이 기대 한 바가 아니라면 다른 클래스인데 연결 문제가 있습니다. – zaph

+0

하지만 모든 발신자 태그를 1 씩 오프셋하면 모두 잘 작동합니다. – Wez

0
당신은 당신이 그것을에있는 UIButton 방법 중 하나를 호출 할 수 있습니다 전에있는 UIButton에 보낸 사람을 캐스팅해야

...

UIButton * newbutton = (UIButton*)sender; 
[newbutton setImage:[UIImage imageNamed:@"favButton1.png"] forState:UIControlStateNormal]; 

[UIScrollView setBackgroundImage:forState:] 

은 보낸 사람을 의미합니다 UIScrollView 형식 (UIButton 아님)으로 해석되며 setBackgroundImage:forState: 메서드가 UIScrollView에 정의되어 있지 않습니다.

+0

두 번째 UIScrollView 내에서 버튼의 배경 이미지를 변경하기 위해'[DoubleScrollLeft viewWithTag : i]와 함께 사용하는 방법을 보여줄 수 있습니까? – Wez

2

발신자가 어떻게 든 UIScrollview입니다.

다음과 같이 변경하십시오. 경고 메시지가 표시되지 않도록해야합니다.

[sender setImage:[UIImage imageNamed:@"favButton1.png"] forState:UIControlStateNormal]; 

[((UIButton *)sender) setImage:[UIImage imageNamed:@"favButton1.png"] forState:UIControlStateNormal]; 
+0

감사합니다. 그러나이 dosen't는 작동합니다. UIScroll보기 혼동이 있다고 생각합니다. 여기에서 일어나는> UIButton * button = (UIButton *) [DoubleScrollLeft viewWithTag : i];' – Wez

관련 문제