所以我是Swift和移动开发的新手,我想制作改变TextField风格的功能,所以我不必为每个TextField编写长代码。
这就是我想要做的事情:
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));
}
我认为你可以得到我想要的代码,问题是func中的TextField被读作@IBOutlet而不是。
我想用这样的东西来设置任何TextField的样式:
borderstyle(UserNameTextField) // UserNameTextField is @IBOutlet
我知道我在那里犯了一些错误,但我想知道解决这个问题的最佳方法。
感谢。
答案 0 :(得分:2)
为什么将textField传递给函数然后在其中使用self.textField?
使用:
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));
答案 1 :(得分:1)
从代码中删除自指针。
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));
}
注意:作为一个好的命名概念,请遵循camelCase,如图所示