2010-11-02 17 views
5

Al igual que la barra de pestañas, quiero mostrar la insignia en UISegmentedControl. Como no puedo ver ningún método predefinido para UISegmentedControl como disponible para UITabBar.UISegmentedControl con número de placa

alt text

pensé sobre la adición de la tarjeta de identificación como una imagen justo encima de él, pero tal vez hay alguna manera mejor.

Respuesta

12

Here es una pequeña biblioteca de terceros que he usado para dibujar insignias en varias cosas. Es muy lindo. Por ejemplo, cambiar el color de la insignia para que coincida con mi diseño fue trivial.

Una vez que llevar esta clase en su proyecto e incluirlo en su controlador de vista, van:

CustomBadge *customBadge1 = [CustomBadge customBadgeWithString:@"Badge 1"]; 

... y luego agrega customBadge1 como subvista de cualquier cosa que estés credencialización.

+0

COOL biblioteca de terceros ... gracias :) – Tariq

+0

He creado una subclase UISegmentedControl que utiliza esta biblioteca y hace que las credenciales sean aún más fáciles. Consulte mi respuesta a continuación. –

0

No hay ninguna propiedad o método para utilizar un distintivo, a diferencia de la barra de pestañas. Si quieres hacer esto, solo tendrás que poner una imagen personalizada sobre él. Podría subclasificar el control segmentado y crear una función que lo haga por usted.

+0

Sí, yo también creo que esto es posible usando solo imágenes personalizadas. Gracias por responder – Tariq

6

Tuve este problema hoy, así que armé una subclase UISegmentedControl que te permite establecer fácilmente números de distintivos en cada uno de los segmentos.

Su uso es tan fácil como:

[segmentedControl setBadgeNumber:1 forSegmentAtIndex:0]; 

pantalla, documentación y código fuente están en https://github.com/dave-thompson/MESegmentedControl.

Cuestiones relacionadas