向 UIView 添加多个子层只会显示一个

Adding multiple sublayers to UIView will only display one

尝试为我的登录系统添加底部边框,我使用了以下代码:

var bottomBorder = CALayer()
bottomBorder.frame = CGRectMake(0.0, userEmailAddressTextField.frame.size.height - 1, userEmailAddressTextField.frame.size.width, 1.0)
bottomBorder.backgroundColor = UIColor.blackColor().CGColor
userEmailAddressTextField.layer.addSublayer(bottomBorder)

我也在尝试对我的密码文本字段执行此操作。我使用了多种技术,但 none 似乎有效。

第一次尝试: 再次添加相同的代码,这只显示第二个栏的底部边框。

第二次尝试: 我用不同的变量 bottomBordertwo 尝试了同样的事情,然后复制代码,但这也行不通。有什么解决办法吗?

创建常用函数

func addBottomLayerToTheView(view:UIView)
{
    var bottomBorder = CALayer()
    bottomBorder.frame = CGRectMake(0.0, view.frame.size.height - 1, view.frame.size.width, 1.0)
    bottomBorder.backgroundColor = UIColor.blackColor().CGColor
    view.layer.addSublayer(bottomBorder)
}

在创建文本字段或任何其他需要底层的视图后调用此函数,例如:

viewDidLoad()

addBottomLayerToTheView(textField)

addBottomLayerToTheView(textField2)

addBottomLayerToTheView(anyView)