uitableviewcontroller tutorial ejemplo ios uitableview xcode-storyboard

ios - tutorial - uitableviewcontroller swift 4



UITableView con celdas estáticas no aparece (5)

¿Desea intentar usar el TableViewController en lugar del controlador de vista genérica?

He creado un nuevo proyecto de Xcode usando Storyboards (plantilla de vista de pestaña). Agregué un par de controladores de vista a mi guión gráfico, y quería usar un UITableView con celdas estáticas para uno. Lo creé, pero cuando corro en el simulador las celdas no aparecen. No he cambiado nada en el proyecto a excepción de este archivo del guión gráfico. Estoy mostrando capturas de pantalla del editor del guión gráfico y del simulador en ejecución. La etiqueta aparece, por lo que la vista se carga correctamente. Establecí el color de fondo en gris para que pueda ver que se está cargando la vista talbe. Todas las celdas están configuradas como visibles. Cambié su estilo a Basic y edité la etiqueta, y agregué un indicador de divulgación, eso es todo.


Como se indica en el sitio web de Ray Wenderlich (en este post: Guiones gráficos para principiantes en iOS 5, Parte 2 , sección "La pantalla Añadir reproductor en el trabajo"):

Una cosa más sobre las células estáticas, solo funcionan en UITableViewController. El Editor Storyboard le permitirá agregarlos a un objeto Table View dentro de un UIViewController regular, pero esto no funcionará durante el tiempo de ejecución. La razón de esto es que UITableViewController proporciona algo de magia extra para cuidar la fuente de datos para las células estáticas. Xcode incluso le impide compilar tal proyecto con el mensaje de error: "Configuración ilegal: las vistas de tabla estática solo son válidas cuando están incorporadas en instancias de UITableViewController".

Tenía el mismo problema, pero esto deja las cosas claras ...


Estaba experimentando el mismo problema, y ​​la solución que funcionó para mí fue presentar la subclase estática UITableViewController utilizando performSegue. Presentar el método anterior con [[self navigationController] present...] no dio como resultado que la vista de tabla estática cargue correctamente sus celdas.


No implemente ninguno de los métodos siguientes cuando use la vista de tabla estática:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { }


Puede agregar una Vista de contenedor e insertar un UITableViewController en ese contenedor. Luego puede administrar sus celdas estáticas dentro del nuevo controlador.