2010-04-15 9 views

Respuesta

12

No se ve como la vista del índice estándar es personalizable.

En mi aplicación, acabo de crear una vista de índice personalizada en lugar de la estándar. Básicamente, todo lo que necesita hacer aquí es la posición de seguimiento de la pista en esa vista y desplazar UITableView en consecuencia. Es posible que también necesite agregar algunos efectos visuales: cambie el color de fondo de la vista al tocar y resalte el título de la sección actual.

+0

Hola, ¿sería capaz de proporcionar el código de la vista del índice que ha creado? –

1

https://github.com/Hyabusa/CMIndexBar

uso de este plugin Hyabusa. replacment simple para UITableView Índice que permite el ajuste de colores

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]; 

Delegado

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

¿Es posible agregar el icono UITableViewIndexSearch a CMIndexBar? – Chris

0
tableView.tintColor = UIColor.redColor(); 

lo hará por usted

1

versión Swift:

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

Para personalizar la altura de la vista de índice (sólo UITableViewStylePlain estilo):

tableView.sectionIndexMinimumDisplayRowCount = 15 
0

En realidad no es oficial de Apple disponible para hacerlo. Y Apple puede rechazar tu aplicación si lo haces. Si solo quiere personalizar indexBar, debajo de la biblioteca puede ayudarlo.

Puede usar la biblioteca personalizada CollectionIndexTools de Swift (iOS 8+), que puede personalizar.

https://github.com/ReverseScale/CollectionIndexTools

Aquí es fragmento de muestra para 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 
    }() 
Cuestiones relacionadas