Tengo mi propio separador en .jpg y me gustaría usarlo en lugar del predeterminado en TableView, pero lo único que obtengo es que desaparece.

Swift 3.0:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "musicCell", for: indexPath) as! SongTableViewCell

    let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
    let separator = tableView.separatorColor(color)

    tableView.tableFooterView = UIView(frame: .zero)
    tableView.backgroundView = UIImageView(image: UIImage(named: "bckgrd.jpg"))
    cell.backgroundColor = UIColor.clear

    //tableView.separatorStyle = UITableViewCellSeparatorStyle.singleLine
    //tableView.separatorColor = UIColor(patternImage: UIImage(named: "Separator.jpg"))

Esta es una de las formas que he intentado implementar. ¿Hay otra forma de hacerlo?

1
Oleg_D 17 sep. 2016 a las 10:39

3 respuestas

La mejor respuesta

Debe establecer el estilo del separador y no solo el color. Establezca separator style en single line y asegúrese de que su imagen Separator.jpg se vea como una sola línea y obtenga color con let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!) esta declaración.

Puede establecer un estilo de separador como,

 tableView.separatorStyle = UITableViewCellSeparatorStyle.SingleLine

PD: si está comprobando esto en el simulador, verifíquelo en resolución completa (es decir, cmd + 1 o en el simulador window - > scale - > 100%), porque en algún momento no hay problema, pero debido a la escala más pequeña no puede verlo.

Actualización:

Otra forma: Set SeparatorStyle to None desde el creador de interfaces o mediante un código como,

   tableView.separatorStyle = UITableViewCellSeparatorStyle.None

Luego puede agregar seperator image (vista de imagen de 1 píxel o 2 píxeles de altura) a la celda en la parte inferior en la vista de contenido de la celda por código o constructor de interfaz como,

   let seperatorImageView = UIImageView.init(image: UIImage.init(named: "yourseperatorimg.jpg"))
    seperatorImageView.frame = CGRectMake(0, cell.contentView.frame.size.height - 1.0,  cell.contentView.frame.size.width, 1)
    cell.contentView.addSubview(seperatorImageView)
3
Ketan Parmar 19 sep. 2016 a las 08:15

Establecer el color del separador en el método viewDidLoad ...

override func viewDidLoad() {

    super.viewDidLoad()
    let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
    tableView.separatorColor = color
}

enter image description here

0
Rahul Mayani 17 sep. 2016 a las 08:55
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    let color = UIColor(patternImage: UIImage(named:"Separator.jpg")!)
    tblView.separatorColor = color
}
0
Bista 17 sep. 2016 a las 07:47