2012-07-02 71 views
-1

我使用的是裝有包含標題,副標題和縮略圖一個大約200細胞的UITableView標題小區導航到一個UITableView位置。我想要一個選擇方法,就像從蘋果的聯繫人應用程序中,您可以從字母表中選擇一個字符。我正在繪製選擇界面(A,B,C等),並通過它的委託我檢索相應的索引和標題(即:A = 1,B = 2) ,C = 3等)。如何通過它的使用索引

現在我想瀏覽到第一個單元格,它的標題單元格的第一個字符開始選擇索引字符。就像聯繫人應用程序一樣。

有人可以給我如何實現這種功能的方向。

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

我充滿了我的sectionIndex由

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { 

    if(searching) 
     return nil; 

    NSMutableArray *tempArray = [[NSMutableArray alloc] init]; 
    [tempArray addObject:@"A"]; 
    [tempArray addObject:@"B"]; 
    [tempArray addObject:@"C"]; 
    [tempArray addObject:@"D"]; 
    [tempArray addObject:@"E"]; 
    [tempArray addObject:@"F"]; 
    [tempArray addObject:@"G"]; 
    [tempArray addObject:@"H"]; 
    [tempArray addObject:@"I"]; 
    [tempArray addObject:@"J"]; 
    [tempArray addObject:@"K"]; 
    [tempArray addObject:@"L"]; 
    [tempArray addObject:@"M"]; 
    [tempArray addObject:@"N"]; 
    [tempArray addObject:@"O"]; 
    [tempArray addObject:@"P"]; 
    [tempArray addObject:@"Q"]; 
    [tempArray addObject:@"R"]; 
    [tempArray addObject:@"S"]; 
    [tempArray addObject:@"T"]; 
    [tempArray addObject:@"U"]; 
    [tempArray addObject:@"V"]; 
    [tempArray addObject:@"W"]; 
    [tempArray addObject:@"X"]; 
    [tempArray addObject:@"Y"]; 
    [tempArray addObject:@"Z"]; 

    return tempArray; 
} 
+1

你能否澄清越好你試圖做什麼?你的問題對我來說令人難以置信。 –

回答

1

試試這個方法: -

#pragma mark - 
#pragma mark UITableView data source and delegate methods 

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    /* 
    If the requesting table view is the search display controller's table view, return the count of the filtered list, otherwise return the count of the main list. 
    */ 
     return [[[contactArr objectAtIndex:section]objectForKey:@"name"] count]; 

} 

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return 44.0f; 
} 

#pragma mark - 

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 
{ 
     return [[contactArr objectAtIndex:section]objectForKey:@"char"]; 

} 

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView 
{ 

    NSMutableArray *tempArray = [[NSMutableArray alloc] init]; 
    [tempArray addObject:@"A"]; 
    [tempArray addObject:@"B"]; 
    [tempArray addObject:@"C"]; 
    [tempArray addObject:@"D"]; 
    [tempArray addObject:@"E"]; 
    [tempArray addObject:@"F"]; 
    [tempArray addObject:@"G"]; 
    [tempArray addObject:@"H"]; 
    [tempArray addObject:@"I"]; 
    [tempArray addObject:@"J"]; 
    [tempArray addObject:@"K"]; 
    [tempArray addObject:@"L"]; 
    [tempArray addObject:@"M"]; 
    [tempArray addObject:@"N"]; 
    [tempArray addObject:@"O"]; 
    [tempArray addObject:@"P"]; 
    [tempArray addObject:@"Q"]; 
    [tempArray addObject:@"R"]; 
    [tempArray addObject:@"S"]; 
    [tempArray addObject:@"T"]; 
    [tempArray addObject:@"U"]; 
    [tempArray addObject:@"V"]; 
    [tempArray addObject:@"W"]; 
    [tempArray addObject:@"X"]; 
    [tempArray addObject:@"Y"]; 
    [tempArray addObject:@"Z"]; 

    return tempArray; 
// return [[NSArray arrayWithObject:UITableViewIndexSearch] arrayByAddingObjectsFromArray: 
//   tempArray]; 

} 

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index 
{ 
// if (title == UITableViewIndexSearch) { 
//   [tableView scrollRectToVisible:self.searchDisplayController.searchBar.frame animated:NO]; 
//   return -1; 
//  } else { 
      return [[UILocalizedIndexedCollation currentCollation] sectionForSectionIndexTitleAtIndex:index]; 

} 
+0

感謝我正在尋找的東西。我只需要將我放置的數據分開,以便我有26個不同的部分! – BarryK88