De acuerdo. He hecho más UITableViewCells personalizadas de las que puedo contar en los últimos tres años.iOS 5 UITableViewCell personalizado XIB's aka "¿Estoy perdiendo la cabeza?"
Luego viene iOS 5 y acabo de recibir un proyecto en mi escritorio donde tengo que hacer un poco más.
Así que la forma en que solía hacer esto es hacer un XIB personalizado, arrastrar una UITableViewCell en el lienzo, conectar mis controles, configurar la clase personalizada, hacer mi enlace ... luego cargar la instancia de la celda en el código haciendo un bucle a través de los objetos después de desempacar el XIB.
¿Tantas veces tuve una sola función de categoría para manejar todo el asunto.
Ahora, de repente en iOS 5 está sirviendo grandes celdas blancas en blanco cada vez que hago una celda personalizada.
Aquí están las siguientes características de las células personalizados que se inserta en la tabla
1) Mostrar completamente blanco puro, aparte de los controles UITableViewCell "por defecto" (textLabel, etc, se rellenará y mostrar cuando me puse de texto para ellos).
2) isKindOfClass (MyCustomCellClass) informa verdadera
3) métodos setter en la clase de celda personalizado están funcionando, punteros de objeto para valores de ajuste y UILabels personalizados y todos los informes tales como la no nula, es decir, la célula es en realidad conseguir hecho e instanciado correctamente del XIB
4) Mostrará controles poco convencionales como un UIStepper incondicionalmente por algún motivo. Así que sí, si coloco un stepper en mi celda personalizada, se muestra, pero las etiquetas y las imágenes no.
Lo mejor que puedo imaginar es que algo oscurece la vista de contenido de forma predeterminada o, de lo contrario, los controles personalizados que estoy creando ya no se asignan al contentView de la celda (como solían ser) y en su lugar simplemente siendo arrojado al espacio exterior.
Por ejemplo, en el IOS 4 de XI ter, que utilizan para ver este momento de elaborar una célula de medida (extraídos de la documentación de Apple iOS 5):
Pero a partir de este momento, esto es lo que yo ver cuando se hace lo mismo en un iOS 5 XI ter
por lo tanto, tenga en cuenta que no está mostrando explícitamente que poco ver contenido línea de puntos más.
Realmente he agotado todos mis conocimientos de diagnóstico sobre este problema. Intenté cargar manualmente todas las etiquetas personalizadas directamente en la vista de contenido en tiempo de ejecución, pero incluso eso no funciona.
Estoy buscando ideas.
editar Código
de carga XI ter
if (cell == nil)
{
[[NSBundle mainBundle] loadNibNamed:@"XCCodeViewCell" owner:self options:nil];
cell = codeCell;
self.codeCell = nil;
}
Ésta es actualmente lo es después de simplificarlo basado en nuevos IOS de Apple 5 recomendaciones.El XIB tiene su propietario configurado correctamente en la clase de "self", y codeCell está vinculado a la celda correctamente, con la clase y el identificador correctos.
¿Puede publicar el código donde está desempacando el xib de la celda para usar en una vista de tabla? –
No es seguro, pero echa un vistazo a la respuesta aquí: [http://stackoverflow.com/questions/7640159/iphone-uitableview-with-custom-cell-xcode-4/7640401#7640401][1] [1]: http://stackoverflow.com/questions/7640159/iphone-uitableview-with-custom-cell-xcode-4/7640401#7640401 –
Owen esto no es un error de enlace. El enlace es perfecto. La celda es exactamente lo que dice que es y los controles están siendo manipulados. Simplemente no son * visibles *. –