2011-08-29 15 views
10

Ho creato un UITableView con la personalizzazione di un TableCell, in genere seguendo questo tutorial;UITableView - Evidenzia cella selezionata [iOS]

http://www.theappcodeblog.com/?p=353

ho personalizzato ai miei bisogni e sembra fantastico. Tuttavia, quando seleziono una riga evidenzia quella riga cambiando l'intera cosa blu. Questa evidenziatura copre l'intera cella e sovrascrive il contenuto, creando in effetti una grande scatola blu che appare sgradevole. Ho provato le opzioni di evidenziazione alternati di

Ovviamente se selezionato come grigio, lo stesso comportamento accade, ma con una brutta scatola grigia. 'Nessuno' è l'opzione desiderabile al minuto, ma non fornisce una buona esperienza ai miei utenti in quanto mi piacerebbe dare qualche indicazione che hanno selezionato quella riga.

Qualcuno può suggerire un modo per mostrare che la riga è in alto livello, ma mostra ancora il testo sottostante? Semi opacità?

Grazie

risposta

11

Forse è perché il codice di esempio è l'impostazione:

artistLabel.highlightedTextColor = [UIColor clearColor];.

Il colore del testo artistLabel diventa trasparente quando è evidenziato.

Di causa è possibile impostare il proprio colore alla proprietà highlightedTextColor delle etichette, per esempio:

[UIColor whiteColor]

+0

cosa un assoluto idiota sono io, grazie. Risposta semplice, ha funzionato perfettamente. Grazie –

+1

Sei il benvenuto. Se ritieni che questa risposta sia utile, un voto in alto e selezionalo come risposta corretta sarà molto apprezzato. – xuzhe

+0

Lo faccio sempre. Ho il 100% di fronte molto alla domanda che chiedo. Grazie ancora. –

4

u possibile utilizzare ur punto di vista di personalizzazione alla selezione

qui ho vista colore verde .come questo puoi cambiare qualsiasi personalizzazione vuoi su quello.

if (cell == nil) { 

    cell = [[[UITableViewCell alloc] initWithFrame: CGRectZero 
            reuseIdentifier: CellIdentifier] autorelease]; 


    UIView *selectionView = [[UIView alloc]initWithFrame:cell.bounds]; 

    [selectionView setBackgroundColor:[UIColor greenColor]]; 

    cell.selectedBackgroundView = selectionView; 


    [selectionView release]; 

} 
8

UITableView cella selezionata colori

Enjoy ...

// Image 
UIImage *selectionBackground = [UIImage imageNamed:@"g7.png"]; 
UIImageView *bgview=[[UIImageView alloc] initWithImage:selectionBackground]; 
cell.selectedBackgroundView=bgview; 
[bgview release]; 

o

// Color 
UIView *bgColorView = [[UIView alloc] init]; 
[bgColorView setBackgroundColor:[UIColor brownColor]]; 
[cell setSelectedBackgroundView:bgColorView]; 
[bgColorView release]; 
+0

Freddo. Color funziona su iOS 7. – Tom

+0

Vorrei anche raccomandare di chiamare [cell setSelectionStyle: UITableViewCellSelectionStyleNone] che impedisce la cella da un rettangolo bianco sul perimetro quando è selezionato. –

Problemi correlati