2014-09-21 30 views
28

Per impostazione predefinita, UITextField ha un colore grigio chiaro come colore del bordo. Voglio impostare il mio UITextView per avere lo stesso colore del bordo di UITextField.Come impostare il bordo di UITextView sullo stesso colore del bordo di UITextField

ho provato:

myTextView.layer.borderColor = UIColor.lightGrayColor().CGColor 
or 
myTextView.layer.borderColor = UIColor.lightTextColor().CGColor 
or 
myTextView.layer.borderColor = myTextField.layer.borderColor 

hanno ancora fino ad avere colore diverso. Puoi dirmi come visualizzare il bordo UITextView in modo che corrisponda al colore di UITextField?

Grazie.

+0

Eventuali duplicati di [Con bordi UITextView] (http://stackoverflow.com/questions/2647164/bordered-uitextview) –

+0

voglio impostare il colore del bordo alla linea di fondo. Come farlo? –

risposta

47

Prova questo codice.

UIColor *borderColor = [UIColor colorWithRed:204.0/255.0 green:204.0/255.0 blue:204.0/255.0 alpha:1.0]; 

myTextView.layer.borderColor = borderColor.CGColor; 
myTextView.layer.borderWidth = 1.0; 
myTextView.layer.cornerRadius = 5.0; 

modificare borderWidth e cornerRadius valore per ottenere l'interfaccia utente esatta come UITextField.

+1

In Mac è presente un'utilità denominata DigitalColor Meter. Usa quell'utilità per ottenere l'esatto RGB del campo di testo. devi solo trascinare il cursore sul bordo UITextField. – Deepak

+5

Ho usato una larghezza del bordo di 0,5 per ottenere l'aspetto esatto di un'altra voce sul mio schermo per l'iPad mini. – Caitlin

+0

concordato @ caitlin, la larghezza del bordo predefinita non è 1. – lostintranslation

23

Questo codice Swift funziona anche per impostare stesso colore del bordo, larghezza & raggio come UITextField:

myTextView.layer.borderColor = UIColor(red: 0.9, green: 0.9, blue: 0.9, alpha: 1.0).CGColor 
myTextView.layer.borderWidth = 1.0 
myTextView.layer.cornerRadius = 5 
+0

I componenti colore non dovrebbero essere 0,8? – redcurry

2

Il colore esatto è:

Objective-C:

[UIColor colorWithRed:0.76 green:0.76 blue:0.76 alpha:1.0].CGColor; 

Swift:

UIColor(red:0.76, green:0.76, blue:0.76, alpha:1.0).CGColor 
3

Prova questo codice per Swift

let borderColor = UIColor.whiteColor.Cgcolor() 

myTextView.layer.borderColor = borderColor.CGColor; 
myTextView.layer.borderWidth = 1.0; 
myTextView.layer.cornerRadius = 5.0; 
11

Ho avuto questa domanda simile per iOS 10, e non è stato in grado di trovare una risposta, ma questo è quello che ho trovato utilizzando il misuratore digitale a colori in Utilità e iOS Simulatore.

Swift 3/IOS 10

let color = UIColor(red: 186/255, green: 186/255, blue: 186/255, alpha: 1.0).cgColor 
myTextView.layer.borderColor = color 
myTextView.layer.borderWidth = 0.5 
myTextView.layer.cornerRadius = 5 
+0

non sapevo nemmeno che ci fosse tale app su mac :) – bibscy

0

rapida 4.x/ios11.

Ho fatto un'altra misura in PSD usando il simulatore. Posso confermare che il raggio è 0.5 e il colore è 0.8, come 205/255 = 0.8 (o "cdcdcd" in HEX, come suggerisce PSD, MA la larghezza deve essere 0,5. (Ho allegato un PSD in cui è possibile confrontare il raggio di Modifica campo (UITextField) e raggio applicate a un UITextView

Così la sua corretta:.

let borderGray = UIColor(red: 0.8, green: 0.8, blue: 0.8, alpha: 1) 
    self.TxtV.layer.borderColor = borderGray.cgColor 
    self.TxtV.layer.borderWidth = 0.5 
    self.TxtV.layer.cornerRadius = 5 

Nota: ho cercato di ottenere il colore da un TextField già in vista, ma ho avuto:

se let borderGray = self.cellPhoneTxt.layer.borderColor { lasciare BG = UIColor (cgColor: borderGray)

print(BG) 
    var red: CGFloat = 0 
    var green: CGFloat = 0 
    var blue: CGFloat = 0 
    var alpha: CGFloat = 0 
    BG.getRed(&red, green: &green, blue: &blue, alpha: &alpha) 
    print(red, green, blue, alpha) 

} 

ma ho ottenuto in consolle:

kCGColorSpaceModelRGB 0 0 0 1

0.0 0.0 0.0 1.0

così sembra di Apple sta usando il nero pieno e alcuni Alpha.

enter image description here

Problemi correlati