2010-04-15 5 views
11

Répondre

12

Il ne ressemble pas à vue index standard est personnalisable.

Dans mon application, je viens de créer une vue d'index personnalisée au lieu d'une vue standard. Fondamentalement, tout ce que vous devez faire ici est de suivre la position tactile dans cette vue et faites défiler UITableView en conséquence. Vous devrez peut-être également ajouter quelques effets visuels - changer la couleur de fond de la vue au toucher et mettre en surbrillance le titre de la section en cours.

+0

Bonjour, seriez-vous en mesure de fournir le code pour l'affichage d'index vous avez créé? –

1

https://github.com/Hyabusa/CMIndexBar

Utilisez ce plugin de Hyabusa. simple replacment pour UITableView Index qui permet de régler les couleurs

CMIndexBar *indexBar = [[CMIndexBar alloc] initWithFrame:CGRectMake(self.view.frame.size.width-35, 10.0, 28.0, self.view.frame.size.height-20)]; 
[indexBar setIndexes:[NSMutableArray arrayWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G", nil]]; 
[self.view addSubview:indexBar]; 
[indexBar release]; 

délégué

- (void)indexSelectionDidChange:(CMIndexBar *)IndexBar:(int)index:(NSString*)title; 
+0

Est-il possible d'ajouter l'icône UITableViewIndexSearch à CMIndexBar? – Chris

0
tableView.tintColor = UIColor.redColor(); 

fera pour vous

1

Version Swift:

tableView.sectionIndexBackgroundColor = UIColor.clearColor() //iOS7+ 
tableView.sectionIndexTrackingBackgroundColor = UIColor.clearColor() //iOS6+ 
tableView.sectionIndexColor = UIColor.redColor() //iOS6+ 

Pour personnaliser l'affichage de l'index hauteur (UITableViewStylePlain style):

tableView.sectionIndexMinimumDisplayRowCount = 15 
0

En fait, il n'y a pas officiel d'Apple disponible pour le faire. Et Apple peut vous rejeter l'application si vous le faites. Si vous voulez juste personnaliser indexBar alors la bibliothèque ci-dessous peut vous aider.

Vous pouvez utiliser la bibliothèque personnalisée CollectionIndexTools par Swift (iOS 8+), que vous pouvez personnaliser.

https://github.com/ReverseScale/CollectionIndexTools

est ici extrait échantillon pour CollectionIndexTools

lazy var collectionViewIndex: CollectionViewIndex = { 
     let collectionViewIndex = CollectionViewIndex() 
     collectionViewIndex.indexTitles = ["c", "v", "t", "m", "n", "w", "e", "r", "t", "y", "u", "i", "o", "p", "h", "d", "c", "b", "q"] 
     collectionViewIndex.addTarget(self, action: #selector(FakeCollectionViewController.selectedIndexDidChange(_:)), for: .valueChanged) 
     collectionViewIndex.translatesAutoresizingMaskIntoConstraints = false 
     return collectionViewIndex 
    }() 
Questions connexes