iphone - teclado - seleccionar datos de una lista en excel
Selección de celda múltiple en tabla vista (5)
Deje que sourceArray
sea su matriz que use para completar la vista de tabla. Y selectedObjects
es una matriz de objetos que se seleccionan, se inicializan para contener 0 objetos. Debe ser una variable de instancia de clase (privada).
//NSMutableArray *selectedObjects = [[NSMutableArray array] retain];
- (void) tableView:(UITableView *)atableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
YouObjectType *object = [sourceArray objectAtIndex:indexPath.row]; //This assumes that your table has only one section and all cells are populated directly into that section from sourceArray.
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
cell.accessoryType = UITableViewCellAccessoryNone;
[selectedObjects removeObject:object];
}
else {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
[selectedObjects addObject:object];
}
}
Luego, en el método de acción de envío del botón que describió, use los objetos en la matriz selectedObjects
para realizar la operación requerida.
Quiero subir fotos a twitter, facebook y twit pic y muchas más. Lo tomé en Array y lo visualicé en la vista de Tabla. Estoy usando shareKit. Codifiqué como si seleccionase una celda (por ejemplo, Twitter) y luego subiré foto a Twitter. Deseo seleccionar más de una celda y realizar esta acción de envío con un botón (enviar a la fila seleccionada). Puedo marcar / desmarcar celdas pero cómo obtener el valor seleccionado de la celda. No quiero que esté en el modo de edición de la tabla ...
Código:
- (void) tableView:(UITableView *)atableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
cell.accessoryType = UITableViewCellAccessoryNone;
}
else {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
}
Obtenga indexPath.row en didSelectRowAtIndexPath, puede saber qué celda fue seleccionada.
Puede administrar en una matriz qué celda está seleccionada o no, cuando selecciona una fila, en didSelectRowAtIndexPath actualiza esa matriz de acuerdo con la condición anterior y utiliza esa matriz cuando está cargando imágenes. Por ejemplo, tiene una matriz que tiene dos objetos de diccionario para la clave @ "imagen" y @ "isSelected" y llena la tabla con esta matriz y cuando selecciona una fila, acceda al elemento de la matriz como un objeto de diccionario en indexPath.row y actualice ese diccionario "verdadero" o "flase" para la clave "isSelected".
Puede usar este github repo JLSelectionTVC ( https://github.com/nvrtdfrst/JLSelectionTVC ) que logra esto
También puede hacerlo usando la marca de verificación en la vista de tabla como ...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)path {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:path];
if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
cell.accessoryType = UITableViewCellAccessoryNone;
} else {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
}