테이블 뷰 셀에는 UISlider가 있습니다. 슬라이더 노브를 움직여 이전 뷰로 돌아가서 다시 테이블 뷰로 돌아 오면 슬라이더의 노브가 0으로 되돌아 왔지만 이전에 슬라이더를 움직였던 노브의 "고스트 (ghosting)"현상이 나타납니다 .iOS UISlider 노브는보기로 돌아갈 때 고스트가 발생합니다.
cellForRowAtIndexPath : 슬라이더 개체의 컨텍스트보기를 지우고 viewDidAppear에서 테이블을 다시로드하십시오.
누구든지 문제를 해결하는 방법을 알고 계십니까? 그것은 꽤 성가신 일입니다. 내가 도움이된다면 슬라이더 코드를 아래로 내려 놓습니다.
// Setup slider
CGRect sliderFrame = CGRectMake(15, 56, 230, 0);
UISlider *slider = [[UISlider alloc] initWithFrame:sliderFrame];
slider.clearsContextBeforeDrawing = YES;
[slider addTarget:self action:@selector(sliderUpdated:) forControlEvents:UIControlEventValueChanged];
[slider addTarget:self action:@selector(sliderStopped:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:slider];
[slider release];
감사합니다. 감사!
이미 슬라이더를 그렸는지/이전에 그려진 슬라이더를 잡지 않으려 고하는 체크가 없습니다. 제 추측으로는 단순히 이전 슬라이더 위에 새로운 슬라이더를 그리는 것입니다. 따라서 백그라운드에서 다른 위치에있는 이전 슬라이더를 볼 수 있습니다. –
빠른 응답을 보내 주셔서 감사합니다. 그건 의미가 있지만 어떻게 확인합니까? 셀의 모든 하위 뷰를 실제로 루프하여 이들이 존재하는지 확인하는 가장 좋은 방법입니까? 아니면 셀을 생성하지 않으면 그렇지 않습니다. –