Etichetta (macOS)
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].
Caratteristiche
modificaIn 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
modificaDichiarazione[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))
}
Temi
modificaCreazione di un'etichetta da testo e un'immagine
modifica- crea un'etichetta con un'immagine icona e un titolo generato da una stringa. Disponibile quando
init<S>(S, image: String)
Title
èText
edIcon
èImage
. - crea un'etichetta con un'immagine icona e un titolo generato da una stringa localizzata. Disponibile quando
init(LocalizedStringKey, image: String)
Title
èText
edIcon
èImage
. - crea un'etichetta con un'immagine dell'icona di sistema e un titolo generato da una stringa localizzata. Disponibile quando
init(LocalizedStringKey, systemImage: String)
Title
èText
edIcon
èImage
. - crea un'etichetta con un'immagine dell'icona di sistema e un titolo generato da una stringa. Disponibile quando
init<S>(S, systemImage: String)
Title
èText
edIcon
èImage
. - crea un'etichetta con un titolo e un'icona personalizzati.
init(title: () -> Title, icon: () -> Icon)
Creazione di un'etichetta da una configurazione
modificainit(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
modificaConfigura 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.
Note
modifica- ^ 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.
- ^ (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.
- ^ Labels - Fields and Labels - macOS - Human Interface Guidelines - Apple Developer, su developer.apple.com. URL consultato il 25 febbraio 2021.
- ^ Apple Developer Documentation, su developer.apple.com. URL consultato il 25 febbraio 2021.
- ^ Apple Developer Documentation, su developer.apple.com. URL consultato il 25 febbraio 2021.