2016-02-11 22 views
5

vorrei aggiungere un effetto ombra al mio UITextField attualmente quello che sto ottenendo è questa: enter image description here
Come si può vedere l'ombra non viene arrotondato negli angoli. Il mio codice:iOS arrotondato UITextField con ombra

 mNickname.layer.borderWidth = 1 
     mNickname.layer.borderColor = UIColor.whiteColor().CGColor 
     mNickname.layer.cornerRadius = 3 

     mNickname.layer.masksToBounds = false 
     mNickname.layer.shadowRadius = 3.0 
     mNickname.layer.shadowColor = UIColor.blackColor().CGColor 
     mNickname.layer.shadowOffset = CGSizeMake(1.0, 1.0) 
     mNickname.layer.shadowOpacity = 1.0 
+0

rimuovere borderColor e borderWidth –

+0

Quando rimuovo il textField non è più arrotondato. –

+0

hai rimosso anche cornerRadius? –

risposta

13

Ok, ho trovato il problema. scopre che stavo usando confine rettangolo:

enter image description here

La corretta dovrebbe essere:

enter image description here

E il codice è:

mNickname.layer.masksToBounds = false 
mNickname.layer.shadowRadius = 3.0 
mNickname.layer.shadowColor = UIColor.blackColor().CGColor 
mNickname.layer.shadowOffset = CGSizeMake(1.0, 1.0) 
mNickname.layer.shadowOpacity = 1.0 

Risultato:

enter image description here

0

Sei provato questo mNickname.layer.masksToBounds = true;

+0

Quando l'ho impostato su true, l'ombra non è più visibile. –

1

Provare a modificare shadowOpacity su 0.5 Inoltre, è possibile inviare una completa personalizzazione di questo campo di testo?

1

provare questo, il codice è in Objective C, ma lo stesso per SWIFT

self.textField.layer.shadowColor = [[UIColor blackColor] CGColor]; 
    self.textField.layer.shadowOffset = CGSizeMake(0.0, 1.0); 
    self.textField.layer.shadowOpacity = 1; 
    self.textField.layer.shadowRadius = 0.0; 
+0

L'ho provato, ancora senza successo. –

Problemi correlati