2010-11-26 19 views

Respuesta

11

Su mejor opción es hacer una imagen que desee colocar allí y luego configurar la vista de accesorios para que sea esa imagen. Aquí está Apple's Official Documentation for UITableViewCells.

+5

Ésta es muuuuchas innecesaria. @ La respuesta de believeInSanta es correcta. – Andrew

+2

Esta fue en realidad la forma correcta de hacerlo antes de iOS7. –

60

En realidad, la respuesta correcta (a pesar de ser tan tarde) es establecer su propiedad tintColor celular a un UIColor objeto blanco, así:

UITableViewCell *cell = [UITableViewCell new]; // or other instantiation... 
[cell setTintColor:[UIColor whiteColor]]; 

subclassing la vista accesorio completo también es posible, pero la pregunta está pidiendo que el botón del accesorio de la célula sea blanco, por lo que esta debería ser la respuesta correcta (al menos para iOS7).

Nota: Se ha corregido nombre de la propiedad, también en cuenta que no funciona realmente para el tipo de accesorio indicador

+0

La propiedad en UITableViewCell es en realidad tintColor - no barTint. –

+1

La nota acerca de que no funciona para el tipo de accesorio indicador es lo que me estaba molestando, ¡buena captura! – sbauch

+0

¡Increíble! Muchas gracias. De todos modos, no estoy seguro de que funcione con iOS 6 :) – samthui7

4
UIImageView *checkmark = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"coloredCheckmark.png"]]; 
cell.accessoryView = checkmark;` 

Disfrute

+0

Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar aclaraciones de un autor, deje un comentario debajo de su publicación; siempre puede comentar sus propias publicaciones, y una vez que tenga suficiente [reputación] (http://stackoverflow.com/help/whats-reputation) lo hará poder [comentar cualquier publicación] (http://stackoverflow.com/help/privileges/comment). – Hemang

+0

mejor manera de agregar una imagen personalizada en la vista de accesorio –

+0

Yo también estoy en contra de teñir toda la celda. Este es perfecto.Gracias –

5

Ajuste de color de la tinta para la vista de tabla resuelve por mí.

-1

En su clase de celda personalizado

override func awakeFromNib() { 
    super.awakeFromNib() 
    tintColor = UIColor.red 
} 

o

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cellModel = addressCellModels[indexPath.row] 
    let cell = tableView.dequeueReusableCell(withIdentifier:cellModel.cellIdentifier, for: indexPath) as! AddressSelectionCell 
    cell.tintColor = UIColor.red 
    return cell 
} 
+0

no funciona en absoluto –

+0

¿Podría ser que anule el tinte en otro lugar? –

+0

no tuve tiempo, así que acabo de utilizar una celda personalizada –

0

Swift 3,0

dos maneras:

  1. utilizar su propio UIImageView como accessoryView de la celda de vista de tabla.
  2. Si está utilizando el tipo de accesorio del sistema, como Disclosure Indicator el icono de flecha (>), puede cambiar el UIImageViewtintColor para lograrlo. Como a continuación:

    cell?.subviews.forEach({ 
         if let btn = $0 as? UIButton { 
          btn.subviews.forEach({ 
           if let imageView = $0 as? UIImageView { 
            let image = imageView.image?.withRenderingMode(.alwaysTemplate) 
            imageView.image = image 
            imageView.tintColor = UIColor.red 
           } 
          }) 
         } 
        }) 
    
Cuestiones relacionadas