He leído algunos posts sobre esto, pero todavía no puede obtener la respuesta a mi pregunta.

Tengo la divulgación de la información del indicador. Cambio de la divulgación indicador de color en la celda de la selección

Puedo agregar algo como esto:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

Todo funciona bien y es bueno, la única cosa que quiero cambiar es cuando yo presione hacia abajo la célula, la divulgación indicador cambia de color a blanco. Cambio de la divulgación indicador de color en la celda de la selección Yo no quiero eso. Así que mi pregunta es cómo hacer que la divulgación indicador de color fijo, y no cambiar?

OriginalEl autor Lukas | 2012-07-10

7 Comentarios

  1. 11

    Usted necesita usar un accesorio de vista de este.
    Sintaxis:

    cell.accessoryView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"accessory.png"]] autorelease];

    Aquí está asignando una de la imagen vista de con una imagen accesorio.png

    a tu celular accesorios de la vista.

    pero no hay otra manera? No quiero hacer mi propia vista personalizada, porque tengo varias tablas en mi aplicación, por lo que este sería un buen montón de trabajo, estoy buscando algo de manera más fácil 🙂
    no, es el comportamiento por defecto de UITableViewCells, si desea reemplazar eso, usted necesita agregar sus propios accesorios de vista.
    hechos como que, la esperanza de una mejor manera, pero bueno, funciona.. Gracias por su ayuda!
    gracias por tu comentario 🙂

    OriginalEl autor Midhun MP

  2. 2

    Swift 3

    Agregar un accesorio personalizado vista:

    Ejemplo 1:

    cell.accessoryView = UIImageView(image: UIImage(named: "accessory.png"))

    Ejemplo 2:

    Anidada en un contenedor de vista de una pequeña fuente de la imagen:

    let accessoryView = UIView(frame: CGRect(x: 0, y: 0, width: 24, height: 50))
    let accessoryViewImage = UIImageView(image: UIImage(named: "accessory.png"))
    accessoryViewImage.center = CGPoint(x: 12, y: 25)
    accessoryView.addSubview(accessoryViewImage)
    
    cell.accessoryView = accessoryView

    OriginalEl autor Peter Kreinz

  3. 1

    puedes probar con uiimageview para aplicar celular accessoryType como por ejemplo el siguiente código:

    cell.accessoryView = myAccessoryUIImageView;

    celular accessoryview uiimageview que no se alineen correctamente, pruebe a continuación el código:

        UIView* accessoryView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 24, 50)];
        UIImageView* accessoryViewImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"accessory_image.png"]];
        accessoryViewImage.center = CGPointMake(12, 25);
        [accessoryView addSubview:accessoryViewImage];
        [cell setAccessoryView:accessoryView];
        [accessoryViewImage release];//not use this line your ios sdk in 5.0 and above! 
        [accessoryView release];//not use this line your ios sdk in 5.0 and above! 

    OriginalEl autor Dinesh

  4. 1

    Intentar algo como esto. Probablemente, usted será capaz de lograr lo que desea.

    -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
            for (id obj in cell.subviews){
                if([obj isKindOfClass:[UIButton class]]) {
                    UIButton *button = obj;
                    for(id btnObj in button.subviews){
                        if([btnObj isKindOfClass:[UIImageView class]]) {
                            UIImageView *imgView = btnObj;
                            UIImage *image = [imgView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
                            imgView.image = image;
                            imgView.tintColor = cell.backgroundColor;
                        }
                    }
                }
            }
        }

    OriginalEl autor Harsh

  5. 0

    Me estaba enfrentando el mismo problema y encontrado aún están luchando con este…aunque es bastante tarde la respuesta pero he resuelto mi problema por escrito a la siguiente línea,

    cell.selectionStyle = UITableViewCellSelectionStyleNone;

    se detuvo tipo de accesorio UITableViewCellAccessoryDisclosureindicator de ser blanco cuando se selecciona.

    Espero que esto ayudó.

    OriginalEl autor MPG

  6. 0

    Swift 3 – una Tabla simple Vista de clase que puede mostrar la divulgación de la información del indicador o no el uso de la showsDisclosure booleano cuando la configuración de la celda. ahora mismo la divulgación de flecha tinte de color codificado, pero su elección de color fácilmente podría ser pasado a través de la configuración de la función, así que si usted quería una más reutilizable de la célula.

    Tenga en cuenta que el ‘chevron’ de la imagen está ajustado a ser una imagen de la plantilla en el catálogo de activos, lo que significa que puede ser teñida de un color. Alternativamente, usted puede hacer una UIImage en una imagen de la plantilla en el código así: UIImage(named: "chevron")?.withRenderingMode(.alwaysTemplate)

    class HeaderTableViewCell: UITableViewCell {
    
        @IBOutlet weak var sectionTitle: UILabel!
    
        override func awakeFromNib() {
            sectionTitle.textColor = .black
        }
    
        func configure(title: String, showsDisclosure: Bool = false) {
            self.sectionTitle.text = title
    
            if showDisclosure {
                //add custom disclosure arrow
                let chevronImgView = UIImageView(image: UIImage(named: "chevron"))
                chevronImgView.tintColor = .red
                self.accessoryType = .disclosureIndicator
                self.accessoryView = chevronImgView
            } else {
                self.accessoryType = .none
                self.accessoryView = nil
            }
        }
    }

    OriginalEl autor Natalia

  7. -2

    [[UITableViewCell apariencia] setTintColor:[UIColor redColor]];

    La imagen en la divulgación indicador no está configurado para AlwaysTemplate, así que esto no funciona.

    OriginalEl autor saksha nagpal

Dejar respuesta

Please enter your comment!
Please enter your name here