2011-12-20 16 views
53

Para una mejor reutilización Quiero crear una vista de tabla fuera de mi Guión gráfico.Prototipo Celdas en una punta en lugar de un guión gráfico

Ahora cuando creo un ViewController basado en UITableView con Nib en Xcode, obtengo el TableView por defecto en el archivo nib. Sin embargo, en Interface Builder no puedo agregar prototipos como estoy en mi Storyboard.

Actualmente no es posible agregar prototipos de celdas en un plumín o me falta algo.

Muchas gracias por cualquier ayuda.

+1

Además de la respuesta correcta anterior, me refiero a la gran solución detallada para este caso. - [Enlace a StackAnswer] (http://stackoverflow.com/a/10298648/1698467) (usando 'UITableView: registerNib: forCellReuseIdentifier:' y 'tableView: cellForRowAtIndexPath:' con archivos '.xib') – skywinder

+0

Esta pregunta/la respuesta es un poco confusa para mí. Vine aquí buscando una forma de usar celdas prototipo dentro de una vista de tabla al definir una vista de tabla en un xib. Es perfectamente posible en un guión gráfico sí, pero de alguna manera dentro de un xib no existe tal característica. – Jonny

Respuesta

91

iOS 5 incluye un nuevo método de UITableView: registerNib:forCellReuseIdentifier:

Para usarlo, poner un UITableViewCell en una punta. Tiene que ser el único objeto raíz en el plumín.

Puede registrar el plumín después de cargar su tableView, luego cuando llama a dequeueReusableCellWithIdentifier: con el identificador de celda, lo extraerá del plumín, como si hubiera usado una celda de prototipo Storyboard.

+1

Fantástico - Me preguntaba cómo hacerlo, busqué aquí, vi su respuesta, luego vi que la mía (que resulta ser incorrecta) fue la respuesta aceptada. Besi, deberías aceptar este en su lugar. – jrturton

+0

@jrturton Gracias por Heads-Up – Besi

+2

¿Hay alguna forma de establecer que el propietario del archivo de estas celdas sea el controlador desde el que están registradas? – nicktmro

1

En Swift 4:

  1. Crear nueva clase Cocoa Touch, Subclase de UITableViewCell.
  2. Importante - Active la casilla de verificación 'también crear el archivo XI ter' que crea un archivo Swift y un archivo .xib
  3. añadir etiquetas en el Xib, como lo haría para una célula prototipo en Storyboard
  4. conectar las salidas de la etiqueta para el nuevo archivo rápida
  5. Importante - Registro el archivo semilla en viewDidLoad

    yourTableview.register(UINib.init(nibName: "CustomCellTableViewCell", bundle: nil), forCellReuseIdentifier: "Cell") 
    

    (o)

    yourTableview.register(UINib(nibName: "CustomCellTableViewCell", bundle: Bundle.main), forCellReuseIdentifier: "Cell") 
    
  6. implementan la fuente de datos y los delegados como normal y typecaste a la CustomCell en cellForRowAtIndexPath.
Cuestiones relacionadas