2012-03-18 3 views
45

Quiero crear un UIBarButtonItem para representar la configuración de la aplicación (rueda dentada). Actualmente solo puedo encontrar una opción para crear UIBarButtonItem (Interface Builder> Attributes Inspector> identificador) como "Agregar" (+), "Editar", "Hecho", "Cancelar" etc.iOS - UIBarButtonItem Identifier - opción para crear "configuraciones" botón de rueda dentada

No puedo encontrar un opción para crear un icono de configuración (rueda dentada). ¿Hay alguna manera de hacer esto en el constructor de interfaz o a través del código?

¿O tengo que crear una imagen y luego la imagen?

+0

tienes que crear el imgae. – scord

+0

@ scordova88 muchas gracias por confirmar eso, acabo de ver un artículo que enseña a dibujar una obra de arte de cremallera http://coreldraw.com/forums/t/25477.aspx – user1046037

Respuesta

63

Unicode tiene varios ejemplos notables, usted puede simplemente copiar y pegar en una declaración de cadena en Xcode, o usar el Unicode String Escape estándar (\ uxxxx) e iOS es bastante fluido cuando se trata de Unicode (conozco algunos Char de son bastante feo, pero eso es Unicode para ya '):

de caracteres Unicode 'marcha sin HUB'(T + 26ED): http://www.fileformat.info/info/unicode/char/26ed/index.htm

de caracteres Unicode 'Gear'(U + 2699): http://www.fileformat.info/info/unicode/char/2699/index.htm

O prepare una imagen y establezca la propiedad customView de UIBarButtonItem según corresponda.

+0

¡¡impresionante !! ¡¡gracias una tonelada!! Estuve pasando mucho tiempo intentando crear la imagen (no estoy tan familiarizado con el software de dibujo) para que coincida con el degradado de la barra de herramientas – user1046037

+0

No hay problema. ¿No es unicode un beaut? – CodaFi

+0

uicode se ve bien y sin duda un gran ahorro de tiempo !!. Una pequeña duda, ¿cómo puedo aumentar el tamaño de fuente del uibarbuttonitem? – user1046037

15

Componer CodaFi y user1046037 respuestas:

Creación UIBarButtonItem con caracteres Unicode como un título.

Debe inicializar UIBarButtonItem con el título (initWithTitle:) no el elemento del sistema (initWithBarButtonSystemItem:).

Puede establecer un título personalizado con una cadena (como el carácter unicode).

Puede cambiar el tamaño del título.

UIBarButtonItem *settingsButton = [[UIBarButtonItem alloc] initWithTitle:@"\u2699" style:UIBarButtonItemStylePlain target:self action:@selector(showSettings)]; 

UIFont *customFont = [UIFont fontWithName:@"Helvetica" size:24.0]; 
NSDictionary *fontDictionary = @{NSFontAttributeName : customFont}; 
[settingsButton setTitleTextAttributes:fontDictionary forState:UIControlStateNormal]; 
5

Para obtener el icono de la rueda dentada utilizando Swift, haga lo siguiente en viewDidLoad(), en el supuesto de haber conectado su botón desde su punto de vista en el controlador. (Ej: @IBOutlet var settingsButton: UIBarButtonItem!) comentario

self.settingsButton.title = NSString(string: "\u{2699}") as String 
    if let font = UIFont(name: "Helvetica", size: 18.0) { 
     self.settingsButton.setTitleTextAttributes([NSFontAttributeName: font], forState: UIControlState.Normal) 
    } 
+1

Esto ahora aparece como emoji -_- – aehlke

3

Esto funciona para mí en Swift 3 y el IOS 10 ...

let settingsButton = UIBarButtonItem(title: NSString(string: "\u{2699}\u{0000FE0E}") as String, style: .plain, target: self, action: #selector(settings)) 
let font = UIFont.systemFont(ofSize: 28) // adjust the size as required 
let attributes = [NSFontAttributeName : font] 
settingsButton.setTitleTextAttributes(attributes, for: .normal) 

Ver @ de hazernut en la respuesta aceptada. Sin agregar \u{0000FE0E} a la cadena, aparece como un emoji y es inmune a las configuraciones de apariencia. Agregar esa cadena corrige eso.

Cuestiones relacionadas