2011-11-02 31 views
23

sólo pude encontrar si uno quiere mostrar barra de desplazamiento o no usarcambiar el ancho y el color de la barra de desplazamiento en UITableView, iPhone

tableView.showsVerticalScrollIndicator = YES/NO; 

pero ¿cómo puedo personalizar la barra de desplazamiento para el color, el ancho y, si es posible ¿otras características?

Cualquier ayuda será muy apreciada.

EDIT:

Tengo esta idea de fragmentos de código donde se debe encontrar en el logotipo de Google MKMapKit y reubicar en algún lugar para que siga siendo visible. mediante el siguiente método, uno puede establecer una imagen personalizada para desplazarse a la barra de UItbaleview. Pero no encontré nada sobre el cambio de tamaño de la barra de desplazamiento.

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

EDIT: Como sugiere necto puede utilizar siguiente para cambiar el ancho.

CGRect frame = testView.frame; 
frame.size.width = 10; //set any value you want. 
testView.frame = frame; 

Respuesta

35

Sólo es posible ajustar el estilo de indicadores de desplazamiento:

El estilo de los indicadores de desplazamiento.

@property(nonatomic) UIScrollViewIndicatorStyle indicatorStyle 

Estilos:

de desplazamiento Indicador de estilo El estilo de los indicadores de desplazamiento. Utiliza estas constantes para establecer el valor del estilo del estilo del indicador.

typedef enum { 
    UIScrollViewIndicatorStyleDefault, 
    UIScrollViewIndicatorStyleBlack, 
    UIScrollViewIndicatorStyleWhite 
} UIScrollViewIndicatorStyle; 

Por ejemplo:

tableView.indicatorStyle = UIScrollViewIndicatorStyleBlack; 
+0

Muchas gracias Nekto. Intenté tableView.UIScrollViewIndicatorStyle = UIScrollViewIndicatorStyleBlack; que dio el error de compilación "propiedad UIScrollViewIndicatorStyle no encontrada para UItableView". ¿Me estoy perdiendo de algo? – chatur

+0

Ejemplo agregado a mi respuesta. Pruébalo – Nekto

+1

Está funcionando ahora. Muchas gracias amigo. Por cierto, soy un gran admirador de "Mir Publishers" y estoy muy contento de hablar con alguien de Moscú. – chatur

1

Puede ocultar la barra de desplazamiento original y desplazarse con la barra de desplazamiento personalizada.

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

se puede utilizar para desplazarse contenido, basta con añadir su barra de encargo de la tabla.

+0

Gracias por su respuesta Manali. Necesitaré tiempo para implementar tu sugerencia. Le dejaré saber que el método anterior funciona para mí. – chatur

+0

ver la respuesta actualizada .. – chatur

0

I did'n encontrar ninguna otra manera, pero esto:

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

Hay sólo 3 estilos disponibles. Si solo encuentra la manera de implementar su propio UIScrollViewIndicatorStyle, pero ni siquiera puedo imaginar CÓMO hacerlo: se implementan en profundidad en el marco UIKit (declarado en UIScrollView.h), y solo puede establecer un indicador, que lo hará utilizado por UIScrollView para saber qué estilo usar. Entonces, no puedo ver de otra manera: necesitarás de alguna manera implementar nuevo estilo y bandera allí. ¿Es posible?

+0

Gracias a SentineL por tu opinión. Por ahora tampoco puedo pensar en ninguna forma de hacerlo. Si logro crear una barra de desplazamiento personalizada, se lo haré saber. – chatur

+0

Por cierto: ¿Por qué lo necesitas? solo personalización, o alguna habilidad? Puede implementar una nueva subvista en la parte superior de ScrollBar y hacer lo que quiera con ella. solo ocultará el indicador predeterminado. Pero en este caso, tendrá que hacer un montón de trabajo para que esto funcione bien. – SentineL

+0

ver la respuesta actualizada. – chatur

6

Usted puede cambiar el color del indicador de desplazamiento usando:

tableView.indicatorStyle=UIScrollViewIndicatorStyleWhite; 

Espero que esto ayude.

3

puede agregar a este gran barra de desplazamiento personalizada de código abierto para su proyecto, es totalmente personalizable: https://github.com/BasheerSience/BRScrollBar

+1

Muchas gracias basheer ... lo que realmente necesito lo tengo ... Así que te mereces la oportunidad de votar ... De nuevo –

0

el cambio de color del indicador con el estilo y el color 3 por defecto.

TextField.indicatorStyle = UIScrollViewIndicatorStyleWhite;

0

Para Swift 3

collectionView.indicatorStyle = UIScrollViewIndicatorStyle.white

Cuestiones relacionadas