Quanto dovrebbe essere grande un'immagine UIBarButtonItem?


130

Sto cercando di creare i miei pulsanti personalizzati Ordina per data e Ordina per numero che intendo collocare nella barra di navigazione come pulsante destro.

Quanto dovrebbe essere grande la mia immagine per riempire adeguatamente lo spazio: la pagina della documentazione di UIBarItem non elenca nulla delle dimensioni dell'immagine.

Risposte:


237

A partire da iOS 11, le Linee guida per l'interfaccia umana suggeriscono che i glifi sono circa 25 × 25 punti nelle barre degli strumenti e nelle barre di navigazione, fino a un massimo di circa 28 punti. (E l'HIG dovrebbe sicuramente essere tra i tuoi segnalibri se stai lavorando su app iOS!)

Ciò si tradurrebbe in immagini 25px quadrati per dispositivi più vecchi come iPad 2 / Mini, 50px quadrati per la maggior parte dei dispositivi attuali come iPhone 8 o iPad e 75px quadrati per dispositivi Retina HD (iPhone 6/7/8 Plus o iPhone X). I cataloghi delle risorse aiuteranno immensamente a mantenere organizzate le diverse dimensioni delle risorse (e Xcode può persino generarle da fonti vettoriali in questi giorni).


1
Grazie, esattamente quello che dovevo sapere combinato con un puntatore a un ottimo documento. Segnalibro.
Epsilon Prime,

1
Vorrei che il Mobile HIG affermasse qualcosa di più utile di "circa 20x20" però. Se usi un'immagine esattamente di 20x20px, in realtà non mapperà 1: 1 e il pulsante non sarà quadrato.
Clafou,

1
Clafou, stai parlando di un'immagine per il contenuto del pulsante (come è questa domanda) o da utilizzare come sfondo del pulsante (con l'API di personalizzazione dell'aspetto)? Hai pubblicato una domanda a riguardo?
Sesto Otto,

Puoi vedere alcune delle varie dimensioni utilizzate da Apple guardando le immagini che Apple ha qui: developer.apple.com/library/ios/#documentation/uikit/reference/…
JasonZ

1
Per iOS 7, vedi la risposta di @ hashier.
Rudolf Adamkovič,

46

Le Linee guida per l'interfaccia umana ti dicono questo da iOS7:

Indipendentemente dallo stile di visualizzazione dell'icona, crea una barra degli strumenti o un'icona della barra di navigazione nelle seguenti dimensioni:

Circa 44 x 44 pixel

Circa 22 x 22 pixel (risoluzione standard)

Ecco una grande matrice di tutte le dimensioni necessarie per le risorse per tutte le piattaforme


19

Sì, Apple consiglia di utilizzare immagini con dimensioni 22px, 44px e 66px per UIBarButtonItems, ma se si utilizzano icone preinstallate come l'icona Segnalibro, le dimensioni sono rispettivamente di 25px 50px e 75px per 1x, 2x e 3x.

Qui ci sono 2 icone in UIToolbar. Sulla destra c'è l'icona del segnalibro di sistema di Apple e sulla sinistra la mia icona personalizzata.

Qui la mia icona personalizzata misura 22px-44px-66px:

inserisci qui la descrizione dell'immagine

E qui 25px-50px-75px:

inserisci qui la descrizione dell'immagine

Quindi, se si utilizzano icone personalizzate e di sistema in una barra degli strumenti, suggerirei di utilizzare il ridimensionamento 25px-50px-75px, altrimenti le icone personalizzate saranno più piccole. In realtà uso sempre il ridimensionamento 25px-50px-75px, sembra meglio sulle barre degli strumenti, per quanto mi riguarda.


1
Grazie per questo! Ero sicuro che alcune icone come quelle dei segnalibri sono un po 'più grandi delle dimensioni
22-44-66px

1
Ho provato 25px-50px-75px ed è davvero bello. non piccolo non grande.
MBH,

-4

Facile: includi le tue immagini in Assets.xcassets.

Come?

  • Fai clic su Assets.xcassets
  • Fare clic sull'icona +, quindi fare clic su "Nuovo set di immagini"
  • Trascina e rilascia l'immagine nello slot 3x
  • Rinomina il set di immagini
  • Nel BarButton puoi usare questo nome nel campo "Immagine"

3
Come risponde alla domanda sulla dimensione?
Andrea Lazzarotto,

@AndreaLazzarotto buon punto ma questa risposta include informazioni importanti lasciate fuori dalle altre risposte
paul
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.