Tengo un UITableView
donde los separadores no tienen todo el ancho. Termina como 10 píxeles antes del lado izquierdo. Estaba jugando con este código en el viewDidLoad()
.
self.tableView.layoutMargins = UIEdgeInsetsZero;
También en el guión gráfico cuando puede seleccionar selectores personalizados o predeterminados. Ahora todas las celdas que están pobladas no tienen los selectores de ancho completo, pero las celdas que están vacías tienen ancho completo.
¿Cómo puedo arreglar esto?
ios
objective-c
iphone
uitableview
Timo Cengiz
fuente
fuente
UITableView
Tiene una propiedadseparatorInset
. Establezca la inserción delUITableView
separador de línea en cero. También puede cambiar elseparatorInset
desde el guión gráficoRespuestas:
Esto funcionó para mí en dispositivos iOS 8.4 - 9.0 que usan Xcode 6.4 y Swift 1.2:
Actualización de Swift 5:
fuente
Recibí la respuesta de esta publicación: el separador 0 del separador UITableView de iOS 8 no funciona
Simplemente agregue este código en su
UITableViewController
fuente
viewDidLayoutSubviews
no es necesarioEn tus
UITableViewCell
Vaya al Inspector de atributos en el Creador de interfaces y simplemente cambie "15" a 0. Haga esto para todas las celdas que desea cambiar.
Es posible que deba agregar
[cell setLayoutMargins:UIEdgeInsetsZero];
a sutableViewCell
fuente
para Swift 3:
fuente
UITableViewCell
left
y / oright
campos. (Por defectoleft: 15
,right: 0
)Mira cómo funciona (usando
left: 100
):Resultado:
fuente
Heredo de
UITableViewController
y necesitaba adicional a la configuración de dos inserciones enwillDisplayCell
también para establecerpreservesSuperviewLayoutMargins
en falso. En Swift se ve así:fuente
preservesSuperviewLayoutMargins = false
porque el valor predeterminado ya es falsoEl separador
Inset
es por defecto 15 desde la izquierda. Cambie laInset
opción Separador deauto
acustom
y establezca el recuadro en0
.fuente
Para Swift en iOS 9+
Si usa una costumbre
UITableViewCell
:entonces para tu
UITableView
enviewDidLoad
:fuente
Para las personas que tienen problemas con el iPad, esto lo llevará a un estado similar al del iPhone. A continuación, puede ajustarlo
separatorInset
según sea necesario.fuente
Úselo en el
cellForRowAtIndexPath
método, para configurar las especificaciones del separador de la celda,funciona perfecto para iOS9.0 +
fuente
Probado para iOS 9.3 y Swift 2.2. Asegúrese de poner el código en el
willDisplayCell
que se llama justo antes de mostrar la celda y no encellForRowAtIndexPath
donde crea la celda solamente.Agregue
override
a la función paraUITableViewController
, así:fuente
Nada de lo anterior funcionó para mí en Swift 2.2 y Xcode 7.3.1
Resultó ser la solución más simple de todas. No se necesita código. Simplemente cambie los
TableViewCell
valores de Márgenes de diseño en suUITableView
inspector:fuente
Para Swift 3:
fuente
En
viewDidLoad
(probado iOS11 - swift 4.1)tratar
tableView.separatorInset = UIEdgeInsetsMake(0, 0, 0, 0)
fuente
Ninguna de estas soluciones funciona en el iPad, pero se me ocurrió una solución que cubre ambos dispositivos:
Con celdas reutilizables:
Con celdas no reutilizables:
Solo para ampliar este enfoque:
Ambas propiedades pueden ser utilizadas por
UITableView
&UITableViewCell
. Este último es, de hecho, una propiedad deUIView
, que es una clase padre de ambosUITableView
&UITableViewCell
.fuente
Swift 5, actualización Xcode 11
coloque esto dentro de viewDidLoad ()
para el separador de borde a borde solo establezca el valor de izquierda y derecha en 0.
por cierto, cambie "yourTableView" a su nombre de Outlet tableView.
fuente