2011-06-14 5 views
0

동적 높이가있는 동적 양의 섹션이있는 섹션이 많은 UITableview가 있습니다. 이제 다음과 같은 문제가 발생했습니다.UITableView : 섹션 식별자 문제

[indexPath section]은보기의 (최신/최저/최고 값) 섹션의 값을 반환합니다. 이제 섹션 마녀가 아주 작아서 불행히도 한 번에 3 개의 섹션을 볼 수 있습니다. 섹션을 위에서 어떻게 식별 할 수 있습니까? 어떤 아이디어. 모든 섹션에서 섹션의 행 양이 변경되는 버튼 (섹션에 따라 다르기 때문에)이 필요합니다. 때로는 내가 '위'섹션을 식별 할 수 없기 때문에 잘못된 섹션에 대한 행의 양을 늘립니다.

내가 충분히 설명했으면 좋겠다.

답변

1

표보기의 visibleCells 메서드를 사용하여 보이는 모든 셀을 가져올 수 있습니다. 확실하게 배열을 정렬해야합니다.

NSArray * visibleCells = [self.tableView visibleCells]; 
NSArray * sortedVisibleCells = [visibleCells sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { 
    NSIndexPath * indexPath1 = [self.tableView indexPathForCell:obj1]; 
    NSIndexPath * indexPath2 = [self.tableView indexPathForCell:obj2]; 

    return [indexPath1 compare:indexPath2]; 
}]; 

NSLog(@"%@", [self.tableView indexPathForCell:[sortedVisibleCells objectAtIndex:0]]); 
+0

답변 해 주셔서 감사합니다. 이제 작동합니다. 코드에서 변경해야하는 유일한 것은 값이 nil이고 NSLog가 처리하지 못하기 때문에 섹션 0과 행 0에서 중단된다는 것입니다. –

관련 문제