只用一个var就可以做到这一点吗?

时间:2015-04-03 10:11:43

标签: ios

我似乎无法弄清楚如何只用一个var做到这一点?所以我想知道它是否可能做到这一点?或者这是向所有3个UITextfields添加按钮行的唯一方法吗?

 var border = CALayer(); var border2 = CALayer(); var border3 = CALayer()
        var width = CGFloat(0.7); var width2 = CGFloat(0.7); var width3 = CGFloat(0.7)

    border.borderColor = UIColor.whiteColor().CGColor
    border2.borderColor = UIColor.whiteColor().CGColor
    border3.borderColor = UIColor.whiteColor().CGColor

    border.frame = CGRect(x: 0, y: workServer.frame.size.height - width, width: 250, height: workServer.frame.size.height)
    border2.frame = CGRect(x: 0, y: workUsername.frame.size.height - width, width: 250, height: workUsername.frame.size.height)
    border3.frame = CGRect(x: 0, y: workPassword.frame.size.height - width, width: 250, height: workPassword.frame.size.height)

    border.borderWidth = width
    border2.borderWidth = width
    border3.borderWidth = width
    workServer.layer.addSublayer(border)
    workServer.layer.masksToBounds = true
    workUsername.layer.addSublayer(border2)
    workUsername.layer.masksToBounds = true
    workPassword.layer.addSublayer(border3)
    workPassword.layer.masksToBounds = true

2 个答案:

答案 0 :(得分:1)

你可以编写一个同样的函数。

func addBorder (UIView *view)
{
    var border = CALayer()
    var width = CGFloat(0.7)
    border.borderColor = UIColor.whiteColor().CGColor
    border.frame = CGRect(x: 0, y: view.frame.size.height - width, width: 250, height: view.frame.size.height)
    border.borderWidth = width
    view.layer.addSublayer(border)
    view.layer.masksToBounds = true;
}

您可以按如下方式调用:

addBorder(workServer)
addBorder(workUsername)
addBorder(workPassword)

答案 1 :(得分:0)

您可以在没有任何var的情况下执行此操作:

    let views = [workServer, workUsername, workPassword]
    for view in views {
        let border = CALayer()
        let width = CGFloat(0.7)
        border.borderColor = UIColor.whiteColor().CGColor
        border.frame = CGRect(x: 0, y: view.frame.size.height - width, width: 250, height: view.frame.size.height)
        border.borderWidth = width
        view.layer.addSublayer(border)
    }