¿Cómo creo un TableView como en la aplicación de configuración de red en el iPhone?

StackOverflow https://stackoverflow.com/questions/1815729

  •  08-07-2019
  •  | 
  •  

Pregunta

¿Cómo hago una vista de tabla? Entonces, si enciendo el interruptor, deberían agregarse 2 celdas.

Ya lo intenté

[tableView numberForRowsInSection:6];
[tableView reloadData];

pero esto no funciona como se esperaba :(

alguna idea?

Lo mejor sería 2 secciones, la primera sección contiene 5 celdas, la segunda sección contiene una celda con un interruptor apagado y, si el interruptor ha cambiado, se agregarán 2 celdas a la sección 2. (Agregado con una animación :) )

mhh ..

Gracias de antemano, estoy muy emocionado con cada respuesta :)

¿Fue útil?

Solución

¿De dónde sacó este método -numberForRowsInSection: ? Hasta donde yo sé (y la documentación), no existe y nunca ha existido como un método de UITableView. Adivinar no te llevará a ninguna parte, mucho menos inventar métodos desde el aire.

Quizás debería revisar algunos tutoriales que cubren los conceptos básicos del uso de UITableView antes de intentarlo. Dudo que alguien se tome el tiempo para escribirle una clase completa para hacer esto y ponerla en respuesta, y a la larga estará mucho mejor si no intenta simplemente copiar / pegar el código que no entiendes Existe mucha documentación y ejemplos que cubren UITableView, y eso es solo teniendo en cuenta lo que está disponible en Apple: UITableView es una clase de uso tan frecuente que busca en Google algo como "tutorial UITableView". te dará páginas y páginas de resultados.

Le daré una visión general rápida de lo que necesitaría hacer, sin embargo: 1. Por supuesto, puede comenzar con la plantilla UITableViewController en Xcode y comenzar a personalizarla para que se ajuste a sus requisitos ... dos secciones, sin importar cuántas filas por sección, etc., determine eso en función de algunos objetos de nivel de modelo si es necesario.

  1. Tendrá que crear una subclase UITableViewCell personalizada o personalizar un poco el diseño UITableViewCell predeterminado (al menos agregando una subvista UISwitch) cuando cree nuevos objetos de celda en tableView: cellForRowAtIndexPath: .

  2. El UISwitch debe configurarse para enviar un mensaje a su controlador de vista cuando el valor del interruptor cambie usando - [UIControl addTarget: action: forControlEvents:] para el UIControlEventValueChanged evento.

  3. En su implementación del método de acción para este cambio de valor de cambio, deberá implementar la lógica para determinar si las filas se deben sumar o restar, y luego sumar o restar las filas. Puede usar beginUpdates / endUpdates , insertRowsAtIndexPaths: withRowAnimation: y deleteRowsAtIndexPaths: withRowAnimation: para tener una buena fila suave comportamiento de animación en lugar de simplemente llamar a reloadData.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top