2011-12-02 5 views
1

버튼을 터치하여 새 항목을 추가 할 수있는 UITableView가 있습니다. 이 새로 추가 된 항목을 강조하고 싶습니다. UITableView는 데이터 기반이며 셀을 재활용하므로이 새로 추가 된 항목을 표시하기 위해 생각할 수있는 유일한 방법은 데이터 자체에 BOOL 플래그를 추가 한 다음 셀을 강조 표시하고 처음 발생할 때 플래그를 무효화하는 것입니다.TableView에 새로 추가 된 항목으로 표시하기

데이터 소스를 오염시키지 않고도이 작업을 수행 할 수있는 다른 방법이 있습니까?

+0

아마도 cellForRowAtIndexPath의 tableview로 돌아가려면 별도의 재사용 가능한 셀을 설정할 수 있습니다.이 '대체'셀에는 추가 비주얼 스타일이 적용될 수 있으며 추가 단추의 동작 메서드를 통해 요청 된 경우에만 반환됩니다. . 사용자가 아직 다른 셀을 추가하면 이전에 '강조 표시된 새 셀'을 일반 셀로 교체 할 수 있으며 프로세스가 반복 될 수 있습니까? Im은 개념적으로 생각하고 있기 때문에 설명보다 약간 까다 롭습니다. –

+0

@DarekRossman 그게 내가 더 좋아하는 것 같아. 그래도 고마워! – pixelfreak

답변

0

내 첫번째 생각 ..

  1. 당신이 테이블에 다시로드 할 수 있습니다 새 개체가
  2. 새로운 정수 [myObjectArray count];
  3. 만들기 추가 두 개의 정수 테이블 다시로드를 비교하면 정수 [myObjectArray count];
  4. 만들기 . 첫 번째 int이 새 int 보다 작 으면 분명히 다른 개체를 추가 한 것입니다.
  5. indexpath.row 셀이 배열의 마지막 객체 수와 같은지 셀 검사를 만들 때 셀 배경을 다른 색상으로 채울 수 있습니다.

희망 하시겠습니까?

+0

고마워, 나는 이것의 변형을 구현했다. – pixelfreak

0

데이터가 정렬되고 색인 가능하다고 가정하면 새로 추가 된 데이터 목록을 유지하려면 NSArray (또는 NSMutableArray)이 NSIndexPath이어야합니다. 섹션이 하나만있는 경우 NSIndexPathNSNumber으로 대체하고 행을 기록하면됩니다.

관련 문제