¿Cómo cambiar el título del button Iniciar session de Google Plus?

Estaba buscando una solución, pero para mi sorpresa, nadie hizo esta pregunta todavía:

¿Cómo cambiar el título del button Iniciar session de Google? introduzca la descripción de la imagen aquí

Estaba intentando:

  1. setTitle: título por setTitle: pero no ayudó.
  2. encuentra la cadena "Iniciar session" en el directory marco de Google Plus, pero bueno … mi Buscador no encontró esa cadena. 3. Utilice el siguiente código que funciona para cambiar el button de inicio de session de Facebook:

     for (id obj in self.signInButtonGPP.subviews) { if ([obj isKindOfClass:[UILabel class]]) { UILabel * label = view; label.text = @"Google"; }} 

Gracias

Los resources para el button están contenidos en el file GooglePlus.bundle . El valor de la label proviene del file GooglePlusPlatform.strings en el package.

Puede editar directamente el valor de la key Iniciar session para tener un título personalizado. (Sin embargo, esto sería una solución sucia, debes hacerlo por todos los locales). introduzca la descripción de la imagen aquíintroduzca la descripción de la imagen aquí

Y al hacerlo, asegúrese de cumplir con las pautas de marca del button de inicio de session de Google+ .

Bueno … creo que puedes usar la misma solución que utilicé para cambiar el text del button de inicio de session de Facebook. Quizás no sea la mejor y limpia, pero … funciona. Todo lo que necesita hacer es configurar su marco de button de inicio de session G + original en CGRectZero, y agregar su propio button con el mismo aspecto que tiene el button G + y text personalizado. Entonces, cuando detectas tocar tu button, debes pasarlo al button G + así:

 [self.gppSigninButton sendActionsForControlEvents:UIControlEventTouchUpInside]; 

No lo probé, pero creo que funcionará bien. Espero que te ayude.

GPPSigninButton que está utilizando la class GPPSigninButton personalizada que proporciona Google.

En este proyecto de ejemplo , parece que el text "Iniciar session" es parte de una image, por lo que lamentablemente no puede cambiar este text. Tendrá que crear un button y controlar el evento de inicio de session usted mismo con una IBAction .

Proyecto de ejemplo de Google

He creado mi propia aplicación de muestra con la última versión del SDK. Al mirar el button a través de View Debugger, tiene una label, pero no está expuesta en el file de encabezado.

 // // GPPSignInButton.h // Google+ iOS SDK // // Copyright 2012 Google Inc. // // Use of this SDK is subject to the Google+ Platform Terms of Service: // https://developers.google.com/+/terms // #import <UIKit/UIKit.h> // The various layout styles supported by the GPPSignInButton. // The minmum size of the button depends on the language used for text. // The following dimensions (in points) fit for all languages: // kGPPSignInButtonStyleStandard: 226 x 48 // kGPPSignInButtonStyleWide: 308 x 48 // kGPPSignInButtonStyleIconOnly: 46 x 48 (no text, fixed size) typedef enum { kGPPSignInButtonStyleStandard = 0, kGPPSignInButtonStyleWide = 1, kGPPSignInButtonStyleIconOnly = 2 } GPPSignInButtonStyle; // The various color schemes supported by the GPPSignInButton. typedef enum { kGPPSignInButtonColorSchemeDark = 0, kGPPSignInButtonColorSchemeLight = 1 } GPPSignInButtonColorScheme; // This class provides the Google+ sign-in button. You can instantiate this // class programmatically or from a NIB file. You should set up the // |GPPSignIn| shanetworking instance with your client ID and any additional scopes, // implement the delegate methods for |GPPSignIn|, and add this button to your // view hierarchy. @interface GPPSignInButton : UIButton // The layout style for the sign-in button. The default style is standard. @property(nonatomic, assign) GPPSignInButtonStyle style; // The color scheme for the sign-in. The default scheme is dark. @property(nonatomic, assign) GPPSignInButtonColorScheme colorScheme; @end 

Mi propio proyecto de muestra

Lamentablemente esto significa que no puedes cambiar este text.

El SDK de Google Plus no le proporciona ningún package de configuration junto con su SDK.

El package de configuration es algo que tiene todas las imágenes que se usan en él.

La biblioteca de Google Plus tiene **. Una extensión ** significa que no tiene ningún acceso a sus files.

Además, el button Iniciar session es una image, por lo que no podrá cambiar su título.

Prueba subclassando el GPPSignInButton y cambia su image / título según tu necesidad en el método awakeFromNib .

Espero que esto ayude..