2011-11-02 15 views
23

ho potuto trovare solo se si vuole visualizzare la barra di scorrimento o non utilizzo diModificare la larghezza e il colore della barra di scorrimento in UITableView, iphone

tableView.showsVerticalScrollIndicator = YES/NO; 

ma come posso personalizzare la barra di scorrimento per il colore, la larghezza e, se possibile altre caratteristiche?

Qualsiasi aiuto sarà molto apprezzato.

EDIT:

Ho avuto questa idea da frammenti di codice in cui si deve trovare il logo di Google in MKMapKit e riposizionare da qualche parte in modo che rimanga visibile. con il seguente metodo si può impostare un'immagine personalizzata per scorrere la barra di UItbaleview. Ma non ho trovato nulla sulla modifica della dimensione della barra di scorrimento.

-(void) ViewDidLoad 
{ 
UIImageView *testView = [self.tableView.subviews objectAtIndex:1]; 
    UIImage *Img = [UIImage imageNamed:@"image.png"]; 
    [testView setImage:Img]; 
} 

EDIT: Come suggerito da Nekto è possibile utilizzare seguente per modificare la larghezza.

risposta

35

È possibile impostare solo lo stile di indicatori di scorrimento:

Lo stile degli indicatori di scorrimento.

@property(nonatomic) UIScrollViewIndicatorStyle indicatorStyle 

Stili:

scorrimento Indicatore Stile Lo stile degli indicatori di scorrimento. Usate queste costanti per impostare il valore dello stile indicatorStyle.

typedef enum { 
    UIScrollViewIndicatorStyleDefault, 
    UIScrollViewIndicatorStyleBlack, 
    UIScrollViewIndicatorStyleWhite 
} UIScrollViewIndicatorStyle; 

Ad esempio:

tableView.indicatorStyle = UIScrollViewIndicatorStyleBlack; 
+0

Grazie mille Nekto. Ho provato tableView.UIScrollViewIndicatorStyle = UIScrollViewIndicatorStyleBlack; che ha dato errore di compilazione "proprietà UIScrollViewIndicatorStyle non trovata per UItableView". Mi sto perdendo qualcosa qui? – chatur

+0

Aggiunto esempio alla mia risposta. Provalo – Nekto

+1

Funziona ora. Grazie mille amico. A proposito, sono un grande fan dei "Mir Publishers" e sono molto felice di parlare con qualcuno di Mosca. – chatur

1

È possibile nascondere la barra di scorrimento originale e scorrere utilizzando la barra di scorrimento personalizzata.

– (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated 

può essere utilizzato per scorrere il contenuto, basta aggiungere la barra personalizzata al tavolo.

+0

Grazie Manali per la risposta. Avrò bisogno di tempo per attuare il tuo suggerimento. Ti farò sapere che il metodo sopra funziona per me. – chatur

+0

vedere la risposta aggiornata .. – chatur

0

ho did'n trovare qualsiasi altro modo, ma questo:

UITableView *v; 
[v setIndicatorStyle:<#(UIScrollViewIndicatorStyle)#>]; 

C'è solo 3 stili disponibili. Se solo trovi il modo di implementare il tuo UIScrollViewIndicatorStyle, ma non riesco nemmeno a immaginare come farlo: sono implementati in profondità nel framework UIKit (dichiarato in UIScrollView.h), e puoi solo impostare una bandiera, streghe usato da UIScrollView per sapere quale stile usare. Quindi, non posso vedere in nessun altro modo: sarà necessario in qualche modo implementare il nuovo stile e contrassegnare lì. È possibile a tutti?

+0

Grazie SentineL per i tuoi pensieri. Per ora non riesco nemmeno a pensare a un modo per farlo, se riesco a creare una barra di scorrimento personalizzata ti farò sapere. – chatur

+0

A proposito: Perché ne hai bisogno? solo personalizzazione, o qualche fuctionality? Si può semplicemente implementare una nuova subView nella parte superiore di ScrollBar e fare tutto ciò che si desidera con esso. si limiterà a nascondere l'indicatore predefinito. Ma in questo caso, dovrai fare molto lavoro per farlo funzionare bene. – SentineL

+0

vedere la risposta aggiornata. – chatur

6

È possibile cambiare il colore dell'indicatore di scorrimento utilizzando:

tableView.indicatorStyle=UIScrollViewIndicatorStyleWhite; 

Spero che questo aiuti.

3

È possibile aggiungere questo grande open source barra di scorrimento personalizzato al progetto, la sua totalmente personalizzabile: https://github.com/BasheerSience/BRScrollBar

+1

Grazie mille basheer ... che ho davvero bisogno di averlo ... Quindi meriti il ​​tuo voto ... Thnks di nuovo –

0

cambiamento di indicatore di colore con lo stile di colore 3 di default.

TextField.indicatorStyle = UIScrollViewIndicatorStyleWhite;

0

Per Swift 3

collectionView.indicatorStyle = UIScrollViewIndicatorStyle.white

Problemi correlati