2013-07-09 4 views
3

방금 ​​iOS에서 시작했고 나는 UITableView으로 붙어 있습니다.sectionForSectionIndexTitle in UITableView iOS

뷰의 오른쪽에 인덱스 바를 구현하고 싶습니다. 나는 이것을 구현했지만 색인 표시 줄의 섹션을 탭하면 작동하지 않습니다.

이것은 내 코드입니다. 여기서 indexArray은 "A-Z"요소이고 finalArrayUITableView 가변 배열입니다.

sectionForSectionIndexTitle에 구현해야 할 내용을 알려주십시오. 이것은 아마도 예를 고려해야 할 UITableViewDataSource, 최선을에서 가장 혼란 방법 중 하나입니다

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return [finalArray count]; 
} 

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:   (NSInteger)section 
{ 
    return [finalArray objectAtIndex:section]; 
} 

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView 
{ 
    return indexArray; 
} 

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle: (NSString *)title atIndex:(NSInteger)index 
{ 

} 
+0

아무 것도 반환하지 않으므로 섹션 제목에서 제목을 찾아야 할 수도 있습니다. 이 글을 읽을 : http://stackoverflow.com/questions/2624595/what-exactly-is-the-point-of-tableviewsectionforsectionindextitleatindex를 당신이 그것을 필요가없는 경우이 방법을 삭제합니다. 너는 모두 준비가되어 있어야한다. – Desdenova

+1

감사합니다. 그러나 sectionforsectiontitle을 사용하지 않을 경우. 아무것도하지 않는 것보다 인덱스 바를 탭하십시오. 그래서 이것을 구현해야합니다. 그래서 내가 무엇을 돌려 보내야합니까? 다른 문자를 탭하면 – user1960149

답변

7

:

section index - 0 section title - 'A' 
items: ['Apple', 'Ant'] 

section index - 1 section title - 'C' 
items: ['Car', 'Cat'] 

당신에게 :

는 4 개 항목 테이블 뷰가 있다고 가정하자 A - Z

이제 사용자는 g 'C'문자를 탭 : 다음 26 개 절 지수 제목 (테이블 뷰의 오른쪽에있는 인덱스)가 외침 전화

tableView:sectionForSectionIndexTitle:@"C" atIndex:2 

'C'섹션에 대한 섹션 색인을 반환해야합니다.

만 2 개 섹션이 있고 테이블보기에서 같은 섹션이 여기서 C는 간단한 경우에 Z.

에 가장 가까운

때문에 사용자 탭 'Z'는 또한 1을 반환해야 할 경우 오른쪽의 색인에서 다음을 수행 할 수 있습니다.

- (NSInteger)tableView:(UITableView *)tableView 
       sectionForSectionIndexTitle:(NSString *)title 
       atIndex:(NSInteger)index 
{ 
    return index; 
} 

그렇지 않으면 설정에 따라 다릅니다. 섹션 제목에서 제목을 찾아야 할 수도 있습니다.

NSInteger section = [_sectionTitles indexOfObject:title]; 
if (section == NSNotFound) // Handle missing section (e.g. return the nearest section to it?) 
+0

감사합니다, 저도 같은 문제를 가지고 당신이 제안 내가 테이블보기 만 가능한 영역을 표시하고 있지만 지수는이를 변경 한 후 Z. A에서 모든 문자를 표시하고, 인덱스를 반환하고, 그것은 가장 가까운 부분을 소요 . –