ios uitableview ios9

El separador de UITableview no se oculta para iOS9



(8)

He implementado UITableView con codificación. También he establecido UITableViewCellSeparatorStyleNone . Se está ocultando para iOS8 e inferior, pero no se oculta con iOS9 Beta.


De mis investigaciones, no es culpa de iOS9, sino de Xcode 7.0 beta 4.

Si compilo la aplicación con Xcode 7.0 beta 4, los separadores de celdas se muestran incluso cuando están configurados en Ninguno en Interface Builder. Si compilo el mismo código con Xcode 6.4 o 7.0 beta 3, no se muestran los separadores.

Puede llamar explícitamente a esto en su ViewController como solución alternativa:

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

(Supongo que ibtool puede tener la culpa)


Establecer el estilo de separador en .None no funcionó para mí, así que usé las inserciones de borde como una solución de hackeo

self.tableView.separatorInset.left = UIScreen.mainScreen().bounds.width


Este problema es bastante molesto. Y aquí está mi solución:

override func didMoveToSuperview() { if self.superview != nil { self.tableView.separatorStyle = .None } }

Configure el separatorStyle nuevamente cuando la vista se agregue a su supervisión.


Por favor, establezca el estilo separador en Ninguno en el método layoutSubviews.

Cuando se utiliza el diseño basado en restricciones, la implementación básica aplica el diseño basado en restricciones y la configuración de separatorStyle en UITableViewCellSeparatorStyleNone en este método ocultará el separador por usted.


Solución del foro de desarrolladores de Apple que funcionó para mí:

Puede eliminar los separadores configurando UITableViewCellSeparatorNone antes de cada método de reloadData (ios 9.1). No sé por qué, pero UITableView restablece separatorStyle y separatorColor en todas las tomas después de llamar al método reloadData.


También estoy enfrentando el mismo problema. Mi solución fue sólo para establecer

tableView.separatorColor = UIColor.clearColor() .


Tuve el mismo problema, trabajé bien en iOS 8 pero muestre el separador en iOS9. Ya estaba configurando el estilo separador a ninguno. Lo siguiente lo resolvió por mí.

if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) { cell.preservesSuperviewLayoutMargins = NO; } cell.separatorInset = UIEdgeInsetsMake(0.f, 0.f, 0.f, cell.bounds.size.width); if([cell respondsToSelector:@selector(setLayoutMargins:)]) { cell.layoutMargins = UIEdgeInsetsZero; }

Esto básicamente aplasta el separador usando la inserción.


myTableView.separatorStyle = UITableViewCellSeparatorStyleNone;

para Swift

myTableView.separatorStyle = UITableViewCellSeparatorStyle.None

En el método cellForRowAtIndexPath se ocultarán las líneas blancas en iOS 9 y versiones posteriores.