2014-02-27 2 views
1

내 주요 문제는 내부에있는 셀을 다시 사용할 때 UISegmentedControl의 선택된 값을 유지하는 것입니다. 스크롤하면 다시 사용 된 셀의 세그먼트 화 된 컨트롤 값이 여전히 동일합니다. 설명에 대한셀을 다시 사용할 때 UITegmentedControl의 선택된 세그먼트를 유지하는 방법은 무엇입니까?

- (UITableViewCell *)tableView:(UITableView *)thisTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *CellIdentifier = @"yesNoCell"; 
testCell = [thisTableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 

// Configure the cell... 
testCell.mainText.text = [ questionArray objectAtIndex:indexPath.row]; 
[testCell.mainControl setFrame:CGRectMake(690, 22, 334, 40)]; 

return testCell; 
} 

편집 : 나는 각 행에 대해 선택을 유지하려는. 예를 들어 가시 행이 10 개, 행이 30 개일 수 있습니다. 3 행에서 세그먼트를 선택하면 "3"이 사라질 때 나타나는 행이 동일한 선택된 세그먼트를 갖습니다. 선택된 세그먼트가있는 유일한 행이 사용자가 실제로 변경하는 행인지 확인하고 싶습니다.

+0

질문을 정교하게 작성하십시오. 선택을 유지하거나 변경 하시겠습니까? – Suhas

+0

각 행에 대한 선택을 유지하고 싶습니다. 예를 들어 가시 행이 10 개, 행이 30 개일 수 있습니다. 3 행에서 세그먼트를 선택하면 "3"이 사라질 때 나타나는 행이 동일한 선택된 세그먼트를 갖습니다. 선택된 세그먼트가있는 유일한 행이 사용자가 실제로 변경하는 행인지 확인하고 싶습니다. –

+0

분할 된 컨트롤의 내용이 변경되거나 모든 셀에서 동일합니까? – Suhas

답변

3

귀하의 모델와 인덱스 배열을 만들 필요가 선택한 세그먼트를 유지하는 경우 selectedSegment으로 전화를 걸 수 있습니다. 사용자가 세그먼트를 클릭하면 영향을받는 행을 나타내는 객체의 인스턴스에 대한 selectedSegment 속성의 값에 영향을 미칩니다.

그런 다음 cellForRowAtIndexPath: 메서드에서 UISegmentedControl의 선택한 인덱스를 selectedSegment 속성 값으로 업데이트합니다.

+1

Merlevede의 정답을 구현하는 데 도움이되는 두 가지 팁 : UISegmentedControl.selectedSegment의 -1 값은 "선택하지 않음"과 같으며 UITableViewCell의 하위 클래스 인 경우 -prepareForReuse 메서드를 사용하면 모든 시간 전에 올바르게 재설정됩니다. 셀이 재활용됩니다. –

+0

세 분 모두에게 감사드립니다. 나는 이것을 시도 할 것이다. –

+0

이것은 효과가있다! 정말 고맙습니다. –

0

분할 된 컨트롤의 선택된 인덱스를 NSNumber 개체로 변경 가능한 배열로 유지하십시오.

indexPath.row로 분할 제어 - (UITableViewCell *)tableView:(UITableView *)thisTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath있어서 설정된 태그 속성

및 indexPath.row하여 배열에서 값을 선택받을

세그먼트 제어부는 새로운 값 어레이에서 선택된 인덱스를 교체해야 선택된 인덱스를 변경하면 (GET 배열에서 태그 값)

PS에 의해 선택된 인덱스 값은 처음에 당신은 기본값 속성을 가져야한다 각 행에 대해

+0

나는 이것을 시도 할 것이다. –