Etichetta (macOS)

(Reindirizzamento da Etichette (Mac OS))

Le etichette del sistema operativo macOS sono una tipologia di metadati, nello specifico sette distinti parametri colorati, che possono essere assegnati a file, cartelle e volumi nel sistema operativo. Questa funzione è stata introdotta con System 7 e mantenuta in tutte le versioni di Classic Mac OS. Con l'avvento di macOS, le etichette sono state eliminate dalle prime versioni del sistema operativo, per poi essere reintrodotte nella versione Mac OS X Panther[1].

Le etichette su macOS Sierra.

Caratteristiche

modifica

In Classic Mac OS, la scelta di un'etichetta virava interamente l'icona nel colore selezionato, portando ad una distinzione visiva molto efficace, ma anche alla perdita di dettagli nelle icone. In OS X, la rivoluzione dell'interfaccia Aqua ha portato a valorizzare particolarmente le nuove icone più grandi e fotorealistiche, e dunque a dover ripensare il precedente approccio.

In macOS, le etichette permettono di differenziare gli elementi colorandone il nome; l'evidenziazione viene mostrata in tutte le "viste" del Finder (a icone, elenco, colonne e Cover Flow). Ad ogni colore è associata una descrizione testuale (di default il nome del colore).

I colori disponibili sono sette:

  •      Rosso
  •      Arancio
  •      Giallo
  •      Verde
  •      Blu
  •      Viola
  •      Grigio

Questi non sono modificabili senza alterare file di sistema, ma il nome associato ai colori è personalizzabile a piacere nelle preferenze del Finder.[1]

Le etichette, usate in congiunzione con le cartelle smart, permettono di organizzare facilmente i documenti sul proprio computer[2].

Questa funzione del Finder non è esente da difetti; tra i più vistosi nell'implementazione di OS X, se un file etichettato viene trascinato nel Dock non vi è modo di vedere il colore associato. Allo stesso modo il colore non appare nella funzione Stack introdotta nel nuovo Dock di Mac OS X Leopard.

MacOS definisce quattro colori di etichetta che variano nell'aspetto per implicare diversi livelli di importanza[3][4].

Colore Descrizione Codice
Colore etichetta Il colore di sistema utilizzato per il testo di un'etichetta.
class var labelColor: NSColor { get }
Colore etichetta secondaria Il colore di sistema utilizzato per il testo di un'etichetta di minore importanza rispetto a un'etichetta normale ad esempio utilizzata per rappresentare un sottotitolo o informazioni aggiuntive.
class var secondaryLabelColor: NSColor
Colore etichetta terziaria Il colore di sistema utilizzato per il testo di un'etichetta di minore importanza rispetto a un'etichetta secondaria ad esempio utilizzata per rappresentare il testo disabilitato.
class var tertiaryLabelColor: NSColor
Colore etichetta quaternario Il colore di sistema utilizzato per il testo di un'etichetta di minore importanza rispetto a un'etichetta terziaria usata ad esempio per il testo della filigrana.
class var quaternaryLabelColor: NSColor

Un utente dovrebbe essere in grado di copiare informazioni utili come un messaggio di errore, un numero di serie o un indirizzo IP da incollare in un'e-mail, in un documento o in un'altra posizione.

Panoramica di sviluppo

modifica

Dichiarazione[5]:

struct Label<Title, Icon> where Title : View, Icon : View

Esempio:

Label("Lightning", systemImage: "bolt.fill")

In caso di modifiche dinamiche alla vista dopo la rotazione del dispositivo o il passaggio a una dimensione della finestra, si potrebbe voler mostrare solo la parte di testo dell'etichetta utilizzando lo stile dell'etichetta: TitleOnlyLabelStyle

Label("Lightning", systemImage: "bolt.fill")
    .labelStyle(TitleOnlyLabelStyle())

Al contrario, c'è anche uno stile di etichetta solo di tipo icona:

Label("Lightning", systemImage: "bolt.fill")
    .labelStyle(IconOnlyLabelStyle())

Alcuni contenitori potrebbero applicare uno stile di etichetta predefinito diverso, ad esempio mostrando solo le icone nelle barre degli strumenti su macOS e iOS. Per attivare la visualizzazione sia del titolo che dell'icona, si può applicare lo stile dell'etichetta: TitleAndIconLabelStyle

Label("Lightning", systemImage: "bolt.fill")
    .labelStyle(TitleAndIconLabelStyle())

È inoltre possibile creare uno stile di etichetta personalizzato modificando uno stile esistente; questo esempio aggiunge un bordo rosso allo stile di etichetta predefinito:

struct RedBorderedLabelStyle : LabelStyle {
    func makeBody(configuration: Configuration) -> some View {
        Label(configuration).border(Color.red)
    }
}

Per una personalizzazione più ampia o per creare uno stile di etichetta completamente nuovo, è necessario adottare il protocollo e implementare uno stile per il nuovo stile. LabelStyleLabelStyleConfiguration

Per applicare uno stile di etichetta comune a un gruppo di etichette, si applica lo stile alla gerarchia di visualizzazione che contiene le etichette:

VStack {
    Label("Rain", systemImage: "cloud.rain")
    Label("Snow", systemImage: "snow")
    Label("Sun", systemImage: "sun.max")
}.labelStyle(IconOnlyLabelStyle())

È anche possibile creare etichette utilizzando le viste per comporre l'icona dell'etichetta in modo programmatico, anziché utilizzare un'immagine predefinita.

Label {
    Text(person.fullName).font(.body).foregroundColor(.primary)
    Text(person.title).font(.subheadline).foregroundColor(.secondary)
} icon: {
    Circle().fill(person.profileColor).frame(width: 44, height: 44, alignment: .center)
        .overlay(Text(person.initials))
}

Creazione di un'etichetta da testo e un'immagine

modifica
  • init<S>(S, image: String)
    
    crea un'etichetta con un'immagine icona e un titolo generato da una stringa. Disponibile quando Title è Text ed Icon è Image.
  • init(LocalizedStringKey, image: String)
    
    crea un'etichetta con un'immagine icona e un titolo generato da una stringa localizzata. Disponibile quando Title è Text ed Icon è Image.
  • init(LocalizedStringKey, systemImage: String)
    
    crea un'etichetta con un'immagine dell'icona di sistema e un titolo generato da una stringa localizzata. Disponibile quando Title è Text ed Icon è Image.
  • init<S>(S, systemImage: String)
    
    crea un'etichetta con un'immagine dell'icona di sistema e un titolo generato da una stringa. Disponibile quando Title è Text ed Icon è Image.
  • init(title: () -> Title, icon: () -> Icon)
    
    crea un'etichetta con un titolo e un'icona personalizzati.

Creazione di un'etichetta da una configurazione

modifica

init(LabelStyleConfiguration): crea un'etichetta che rappresenta la configurazione di uno stile.

Disponibile quando Title è LabelStyleConfiguration.Title e Icon è LabelStyleConfiguration.Icon.

struct LabelStyleConfiguration: le proprietà di un'etichetta.

Applicazione di modificatori standard

modifica

Configura le viste che contiene applicando i modificatori standard. Ogni tipo conforme al protocollo View ottiene l'accesso al set di modificatori di visualizzazione definiti da quel protocollo.

  1. ^ a b (EN) John Siracusa, Mac OS X 10.3 Panther - The Finder, su arstechnica.com, Ars Technica, novembre 2003. URL consultato il 7 maggio 2011.
  2. ^ (EN) How To Use Mac OS X's Labels to Organize Your Files, su maclife.com, MacLife, 4 febbraio 2011. URL consultato il 7 maggio 2011.
  3. ^ Labels - Fields and Labels - macOS - Human Interface Guidelines - Apple Developer, su developer.apple.com. URL consultato il 25 febbraio 2021.
  4. ^ Apple Developer Documentation, su developer.apple.com. URL consultato il 25 febbraio 2021.
  5. ^ Apple Developer Documentation, su developer.apple.com. URL consultato il 25 febbraio 2021.

Voci correlate

modifica
  Portale Apple: accedi alle voci di Wikipedia che trattano di Apple