Voglio fare i miei colori RGB che sono UIColors
e che potrei usare proprio come UIColor blackColor
o qualsiasi altro.Come faccio a rendere i miei UIColor personalizzati diversi da quelli preimpostati?
risposta
si può scrivere il proprio metodo per la classe UIColor utilizzando le categorie.
#import <UIKit/UIKit.h>
@interface UIColor(NewColor)
+(UIColor *)MyColor;
@end
#import "UIColor-NewColor.h"
@implementation UIColor(NewColor)
+(UIColor *)MyColor {
return [UIColor colorWithRed:0.0-1.0 green:0.0-1.0 blue:0.0-1.0 alpha:1.0f];
}
In questo modo, si crea un nuovo colore e ora si può chiamare come
[UIColor MyColor];
È inoltre possibile implementare questo metodo per ottenere il colore casuale. Spero che questo aiuti.
Usa initWithRed:green:blue:alpha: o colorWithRed:green:blue:alpha:.
Ad esempio:
// create new autoreleased UIColor object named "myColor"
UIColor *myColor = [UIColor colorWithRed:0.5f green:0.5f blue:0.5f alpha:1.0f];
// create new retained UIColor object named "myColor2"
UIColor *myColor2 = [[UIColor alloc] initWithRed:0.5f green:0.5f blue:0.5f alpha:1.0f];
Ma vorrei che mi permetterà di dire qualcosa come: UIColor * orangeColor = [UIColor alloc] initWithRed: greenLblue: alpha:] ; e poi usarlo dopo? – Jaba
Sì, con la sintassi corretta. Ho aggiunto esempi di codice. Assicurati di gestire correttamente la memoria: se usi la funzione di costruzione della classe, devi conservare l'oggetto colore o impostare una proprietà mantenuta. – gerry3
Ci sono un paio di modi per creare un colore.
Preferisco utilizzare il metodo RGB. Se si utilizzano i valori RGB, dividerli per 255 (non ricordo perché, ma so che è necessario farlo).
float rd = 225.00/255.00;
float gr = 177.00/255.00;
float bl = 140.00/255.00;
[label setTextColor:[UIColor colorWithRed:rd green:gr blue:bl alpha:1.0]];
Spero che questo aiuti .....
I valori rosso, verde, blu e alfa passati al costruttore devono essere compresi tra 0.0 e 1.0. – gerry3
avevo bisogno di definire un paio di colori personalizzati per l'utilizzo in più punti in un app - ma i colori sono specifici per tale applicazione. Ho pensato di usare le categorie, ma non volevo avere file extra da includere ogni volta. Ho quindi creato un paio di metodi statici nel mio delegato App.
In MyAppDelegate.h
+ (UIColor*)myColor1;
In MyAppDelegate.m
+ (UIColor*)myColor1 {
return [UIColor colorWithRed:26.0f/255.0f green:131.0f/255.0f blue:32.0f/255.0f alpha:1.0f];
}
Ho un metodo per colore, oppure si potrebbe fare un unico metodo e aggiungere un parametro.
posso quindi utilizzarlo in qualsiasi parte del app come questo:
myView.backgroundColor = [MyAppDelegate myColor1];
Spero che questo aiuta a qualcun altro.
I delegati dell'app vogliono essere bravi. Ma poi apprendono cose. Imparano cose che non sanno niente di business. – griotspeak
[UIColor colorWithRed:51.0/255.0, green:0.0, blue:153.0/255.0];
Finché si utilizza un valore in virgola mobile nella vostra divisione non c'è bisogno di lanciare qualsiasi cosa. Assicurati di utilizzare valori in virgola mobile. Ad esempio: 33/255 = 0
. Che diventerà nero
per SWIFT:
let swiftColor = UIColor(red: 1, green: 165/255, blue: 233, alpha: 1)
Swift 3
Creazione di un'estensione Swift consente di definire i propri colori personalizzati e di utilizzarli come il costruito nei colori.
UIColor + CustomColor.swift
import UIKit
extension UIColor {
class var customGreen: UIColor {
let darkGreen = 0x008110
return UIColor.rgb(fromHex: darkGreen)
}
class func rgb(fromHex: Int) -> UIColor {
let red = CGFloat((fromHex & 0xFF0000) >> 16)/0xFF
let green = CGFloat((fromHex & 0x00FF00) >> 8)/0xFF
let blue = CGFloat(fromHex & 0x0000FF)/0xFF
let alpha = CGFloat(1.0)
return UIColor(red: red, green: green, blue: blue, alpha: alpha)
}
}
Usage:
view.backgroundColor = UIColor.customGreen
Questo deve essere in cima all'elenco delle risposte. – amallard
- 1. Come faccio a rendere i miei campi di input uguali tra i browser?
- 2. Come faccio a rendere il pulsante "Mi piace" di Facebook non traccia i miei utenti?
- 3. Come faccio a rendere eclissi i miei file tml come li voglio?
- 4. Knockout.js - come faccio a limitare i binding personalizzati
- 5. Perché dovrei anteporre i miei attributi personalizzati a "data-"?
- 6. Come rendere i font css personalizzati esattamente come i disegni
- 7. Dove mettere i miei helper HTML personalizzati?
- 8. Come faccio a rendere HttpURLConnection un proxy?
- 9. Come rendere visibili i controlli GUI personalizzati agli screen reader?
- 10. Come caricare un UIColor da un Plist
- 11. Come abilitare domini personalizzati per i miei utenti?
- 12. Come faccio a smettere di cambiare newline nei miei file?
- 13. Come faccio a rendere i miei Blocchi di testo delle dimensioni corrette nella mia app C# XAML Windows 8.1?
- 14. Come rendere inattivi i Bound ai controlli personalizzati
- 15. Come faccio a rendere wget silenzioso?
- 16. Come faccio a collegare il sistema di registrazione incorporato di socket.io per generare i miei messaggi?
- 17. Come faccio a rendere i miei propri metodi di adattatore in grado di consumare un oggetto tratto?
- 18. Come faccio a "uscire" da un'istruzione if?
- 19. Come rendere Struts2 vedere i miei file di proprietà
- 20. Come posso offuscare o rendere illeggibili i miei file JavaScript?
- 21. Come faccio a rendere Apache case insensitive usando .htaccess?
- 22. Estrazione rgb da UIColor
- 23. Come posso rendere facoltativi i miei campi modello in Django?
- 24. Estrarre valori RGB da UIColor
- 25. come visualizzare i dati personalizzati da tipi di post personalizzati
- 26. UIColor a esadecimale (colore web)
- 27. Come faccio a rendere Git un file come binario?
- 28. AngularJS, come faccio a rendere l'interfaccia utente dipendente da quale campo è attivo?
- 29. Come posso creare un UIColor da RGBA?
- 30. Come faccio a rendere il puntatore riconoscibile per i membri contorti ed ephem?
Sto usando una soluzione simile ma devo chiamare qualcosa come: [[UIColor alloc] MyColor] perché funzioni. C'è un modo per non doverlo allocare? – adjwilli
@adjwilli Assicurati di usare un '+' davanti alla dichiarazione del metodo, non un '-'. Questo renderà un metodo di classe rispetto a un metodo di istanza. –