2011-08-08 2 views
0

내 사용자 정의 셀 하위 클래스에서 사용자가 셀을 선택할 때 retain 속성으로 이미지를 변경하려고합니다. 펜촉 없음, 모든 것이 코드입니다.사용자가 셀 이미지를 선택하면 어떻게 변경합니까?

문제 :

- 첫째는, 심지어 아무것도 세포가에 새로운 이미지가 나타납니다 아직 선택하지 않습니다.

- 둘째, 아무 것도 클릭하지 않으면 셀에서 변경됩니다.

-(void)setSelected:(BOOL)selected animated:(BOOL)animated { 
[super setSelected:selected animated:animated]; 
UIImage *cry = [UIImage APP_CRYSTAL_SELECTED]; 
self.leftImage = [[[UIImageView alloc] initWithImage:cry] autorelease] ; 
[self.contentView addSubview:self.leftImage]; 
} 
+0

tableviewcell 또는 버튼에 대해 이야기하고 있습니까? – memmons

+1

잘 모르겠지만 'setHighlighted : animated :' – Justin

답변

2

코드 예제에서 선택되어 있는지 확인하지 마십시오.

-(void)setSelected:(BOOL)selected animated:(BOOL)animated { 
    [super setSelected:selected animated:animated]; 
    if(selected) 
    { 
     UIImage *cry = [UIImage APP_CRYSTAL_SELECTED]; 
     self.leftImage = [[[UIImageView alloc] initWithImage:cry] autorelease] ; 
     [self.contentView addSubview:self.leftImage]; 
    } 
    else 
    { 
     //Remove image here if it exists 
    } 
} 
+0

tnx 내 모든 이미지 로직이 setselected에 있어야합니까? 예를 들어, initWithCellIdentifier에서 내 기본 이미지를 설정했는데, 그것을 선택하도록 설정해야합니까? 다른 경우에 새 것을 설정하기 전에보기를 제거 하시겠습니까? – Spring

+0

initWithCellIdentifier에서 기본 이미지를 설정하고 위의 else 문에서 기본값으로 다시 설정할 수도 있습니다. – Joe

+0

다음 if 문에서 contentView 이미지를 제거해야합니까? – Spring

관련 문제