2016-04-01 17 views
0

Swift ve mobil geliştirme konusunda yeniyim, TextField stilini değiştiren bir işlev oluşturmak istiyorum, böylece her TextField için uzun kod yazmam gerekmiyor. fonksiyon o TextField @IBOutlet olarak okunur seni ben kod formu yapmaya çalışıyorum olsun düşünüyorumBiçimlendirme işlevi TextField kenarlıkları hızlı çalışmıyor

func borderstyle(TextField : UITextField){ 

    self.TextField.layer.borderColor = UIColor(red: 46/225, green: 204/225, blue: 113/225, alpha: 1).CGColor; 
    self.TextField.layer.borderWidth = CGFloat(Float(1.0)); 
    self.TextField.layer.cornerRadius = CGFloat(Float(0.0)); 

} 

, sorun onun ederken:

Bu

ben yapmaya çalışıyorum budur değil.

ben böyle bir şey ile herhangi bir TextField stil vermek istersek:

borderstyle(UserNameTextField) // UserNameTextField is @IBOutlet 

ben orada yanlış mı yapıyorum biliyorum ama en iyi yolu çözmek için neyin bilmek istiyorum.

Teşekkürler.

cevap

2

Neden bir textField işlevine geçiriyorsunuz ve bunun içinde self.textField kullanıyorsunuz?

Kullanım:

TextField.layer.borderColor = UIColor(red: 46/225, green: 204/225, blue: 113/225, alpha: 1).CGColor; 
TextField.layer.borderWidth = CGFloat(Float(1.0)); 
TextField.layer.cornerRadius = CGFloat(Float(0.0)); 
+0

evet ben bu çalışma ama daha şık eklerseniz ("UserNameTextField") easer spicily olacağını BorderStyle kullanıyor biliyorum –

+0

Hayır, demek istediğim, kendini kaldırmalısın. Bu fonksiyona geçtiğiniz değil, bir class özelliğine bakın ... –

+0

'self.TextField' kullanarak bu ada sahip bir depoya işaret eder. Şimdi sadece kendini kaldırmak ve bir "UITextField" yöntemi göründüğü gibi geçirirseniz, geçirilen textField – Mathews

1

koddan öz işaretçisi çıkarın.

func borderstyle(textField : UITextField){ 

textField.layer.borderColor = UIColor(red: 46/225, green: 204/225, blue: 113/225, alpha: 1).CGColor; 
textField.layer.borderWidth = CGFloat(Float(1.0)); 
textField.layer.cornerRadius = CGFloat(Float(0.0)); 

}

Not: gösterildiği gibi iyi bir adlandırma kavramı camelCase takip ettikçe

+0

yep :). teşekkürler :), daha önce onları kaldırmak için çalıştı ve ben coz çalışmadım UITextField dize instate sahiptim .. teşekkürler –